Need cleanup advice for multiline string
Dave Angel
davea at ieee.org
Tue Aug 11 22:54:49 EDT 2009
Robert Dailey wrote:
> Hey guys. Being a C++ programmer, I like to keep variable definitions
> close to the location in which they will be used. This improves
> readability in many ways. However, when I have a multi-line string
> definition at function level scope, things get tricky because of the
> indents. In this case indents are serving two purposes: For syntax and
> actual text output. The tabs for function scope should not be included
> in the contents of the string. Below is the code I am trying to
> improve. Notice how it looks ugly/unreadable because of the way the
> string contents are shifted all the way to the left edge of the
> document. This breaks the flow of scope. Would you guys solve this
> problem by moving failMsg into global scope? Perhaps through some
> other type of syntax?
>
> Help is appreciated!
>
> def RunCommand( commandList ):
> commandString =
> print( 'Running Command:', )
> cmd = subprocess.Popen( commandList )
> returnCode = cmd.wait()
> if returnCode:
> failMsg = '''\
> *************************************************
> The following command returned exit code [{:#x}].
> This represents failure of some form. Please review
> the command output for more details on the issue.
> ------------
> {}
> *************************************************
> '''
> commandString = ' '.join( commandList )
> raise CommandFailure( failMsg.format( returnCode,
> commandString ) )
>
>
No, don't put it in global scope. Put it externally, so it can be
readily localized for international markets.
DaveA
More information about the Python-list
mailing list