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'
用于str.partition()
在换行符上拆分字符串,并从结果中获取第一项:
my_string.partition('\n')[0]
如果您只需要在单个位置拆分字符串,这是最有效的方法。你也可以使用str.split()
:
my_string.split('\n', 1)[0]
然后你需要告诉该方法只在第一个换行符上拆分一次,因为我们丢弃了其余的。
或者您可以使用以下.splitlines()
方法:
my_string.splitlines()[0]
但这必须为输入字符串中的每个换行符创建单独的字符串,因此效率不高。
readline 与流结合使用。如果您坚持使用 readline,则可以使用 StringIO:
from StringIO import StringIO
sio = StringIO(my_string)
for sline in sio.readlines():
print sline
我会做
for line in my_string.split('\n'):
print line
或者做
import re
for line in re.split('\n', my_string):
print line
您可以使用split()
:
my_string = """This is my first line,
this is my second line, and...
...this is my fourth line!"""
lines = my_string.split('\n')