my_string = """This is my first line,
this is my second line, and...
...this is my fourth line!"""
Run Code Online (Sandbox Code Playgroud)
如何将that(This is my first line,)的第一行存储到单独的字符串中?我尝试使用.readline()另一个类似的问题,但是我得到了这个错误:
AttributeError: 'str' object has no attribute 'readline'
Mar*_*ers 98
拆分换行符并从结果中获取第一项:
my_string.partition('\n')[0]
Run Code Online (Sandbox Code Playgroud)
为了效率,我指示str.partition()只拆分第一个换行符,因为我们放弃了其余的换行符.
或者你可以使用的str.split()方法,而不是
my_string.split('\n', 1)[0]
Run Code Online (Sandbox Code Playgroud)
readline 与流结合使用。如果你坚持使用 readline,你可以使用 StringIO:
from StringIO import StringIO
sio = StringIO(my_string)
for sline in sio.readlines():
print sline
Run Code Online (Sandbox Code Playgroud)
我会做
for line in my_string.split('\n'):
print line
Run Code Online (Sandbox Code Playgroud)
或者做
import re
for line in re.split('\n', my_string):
print line
Run Code Online (Sandbox Code Playgroud)