Python strings and coding conventions

koranthala at gmail.com koranthala at gmail.com
Sun Jan 11 08:17:59 CET 2009


On Jan 11, 9:26 am, Robert Kern <robert.k... at gmail.com> wrote:
> koranth... at gmail.com wrote:
> > Hi,
> >    Python Coding Convention (PEP 8) suggests :
> >   Maximum Line Length
>
> >     Limit all lines to a maximum of 79 characters.
>
> >   I have a string which is ~110 char long. It is a string which I am
> > going to print in a text file as a single string.
> >   i.e. in that text file, each line is taken as a different record -
> > so it has to be in a single line.
>
> >   Now, how can I write this code - while following PEP 8?
> >   I tried blockstrings, but as shown in the example below:
> >>>> s = r'''
> > ... abcd
> > ... efgh
> > ... '''
> >>>> s
> > '\nabcd\nefgh\n'
> >    it has "\n" inserted - which will disallow printing it to a single
> > line.
>
> >    I thought about other options like concatenating strings etc, but
> > it seems very kludgy - esp since the whole string has a single meaning
> > and cannot be easily split to many logically. Then I thought of
> > creating a blockstring and then removing "\n", but it seemed
> > kludgier...
>
> I usually use implicit concatenation:
>
> s = ('some long text that '
>       'needs to be split')
>
> --
> Robert Kern
>
> "I have come to believe that the whole world is an enigma, a harmless enigma
>   that is made terrible by our own mad attempt to interpret it as though it had
>   an underlying truth."
>    -- Umberto Eco

This is a very good method.
I found another method too - on further investigation
>>> s = "abc\
... efg"
>>> s
'abcefg'
Only problem being that it doesnt support indentation.
So, implicit concatenation it is...



More information about the Python-list mailing list