[Python-Dev] Triple-quoted strings and indentation
Terry Reedy
tjreedy at udel.edu
Wed Jul 6 07:59:51 CEST 2005
"Andrew Durdin" <adurdin at gmail.com> wrote in message
news:59e9fd3a0507052116307e4d84 at mail.gmail.com...
> In general, I find triple-quoted strings to be very handy,
> particularly for standalone scripts. However, the fact that they have
> to be written in the left-hand column to avoid leading whitespace
> really grates, particularly when they're nested within a block or two
At present I think I would do
usage_text = '''\
text how I want it
'''
perhaps in global context or at top of function and then
> try:
> options, args = getopt.getopt(sys.argv[1:], "cf:s")
> except getopt.GetoptError:
print usage_text
I long ago found it advantageous to pull message texts from scattered
locations into a central place where easier to find and edit. I also make
program logic easier to read without a long block in the way. YMMV
Doc strings, first meant for the code reader, need to be where they are.
They also come before the code itself, so don't interfere.
> -- it's a wart:
That is rather extreme, and is definitely an opinion.
> I have written a patch that changes the way triple-quoted strings are
> scanned so that leading whitespace is ignored.
And what if I want the leading whitespace left just the way I carefully put
it? And what of existing code dependent on literals being as literal as
they currently are? I think the soonest this could be considered is Python
3.0.
Terry J. Reedy
More information about the Python-Dev
mailing list