Подтвердить что ты не робот

Как я прочитал первую строку строки?

my_string = """This is my first line,
this is my second line, and...

...this is my fourth line!"""

Как я могу сохранить первую строку этого (This is my first line,) в отдельной строке? Я попытался использовать .readline() из другого аналогичного вопроса, однако я получаю эту ошибку:

AttributeError: 'str' object has no attribute 'readline'

4b9b3361

Ответ 1

Используйте str.partition() чтобы разбить строку на новую строку и получить первый элемент из результата:

my_string.partition('\n')[0]

Это самый эффективный метод. Вы также можете использовать str.split():

my_string.split('\n', 1)[0]

Затем вам нужно указать, чтобы метод делился только один раз, на первой новой строке, поскольку мы отбрасываем остальные.

Или вы можете использовать метод .splitlines():

my_string.splitlines()[0]

но это должно создавать отдельные строки для каждой новой строки во входной строке, поэтому это не так эффективно.

Ответ 2

readline используется в сочетании с потоком. вы можете использовать StringIO, если вы настаиваете на использовании readline:

from StringIO import StringIO

sio = StringIO(my_string)
for sline in sio.readlines():
    print sline

Я бы сделал

 for line in my_string.split('\n'):
        print line

или do

import re
for line in re.split('\n', my_string):
    print line

Ответ 3

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

my_string = """This is my first line,
this is my second line, and...

...this is my fourth line!"""

lines = my_string.split('\n')