Python здесь документ без перевода строки сверху и снизу - PullRequest
46 голосов
/ 06 марта 2012

Какой лучший способ иметь здесь документ, без перевода строки вверху и внизу?Например:

print '''
dog
cat
'''

будет иметь переводы строки вверху и внизу, и чтобы избавиться от них, я должен сделать это:

print '''dog
cat'''

, который я считаю гораздо менее читабельным.

Ответы [ 5 ]

62 голосов
/ 06 марта 2012

Как насчет этого?

print '''
dog
cat
'''[1:-1]

Или до тех пор, пока в первой строке не будет отступа или завершающего пробела в последней:

print '''
dog
cat
'''.strip()

Или даже, если вы неНе возражайте немного больше беспорядка до и после вашей строки в обмен на возможность сделать хороший отступ:

from textwrap import dedent

...

print dedent('''
    dog
    cat
    rabbit
    fox
''').strip()
27 голосов
/ 19 сентября 2013

Добавить обратную косую черту \ в конце нежелательных строк:

 text = '''\
 cat
 dog\
 '''

Это несколько более читабельно.

19 голосов
/ 06 марта 2012

используйте скобки:

print (
'''dog
cat'''
)

Использование str.strip()

print '''
dog
cat
'''.strip()

использовать str.join()

print '\n'.join((
    'dog',
    'cat',
    ))
6 голосов
/ 06 марта 2012

Вы можете использовать strip():

print '''
dog
cat
'''.strip()
1 голос
/ 06 марта 2012

Вам действительно нужен многострочный синтаксис? Почему бы просто не вставить новую строку?

Я считаю, что печатный текст "собака \ ncat" гораздо более читабелен, чем любой из них.

...