我正在使用subprocess模块的communicate方法读取一些数据。它以"\r\n"分隔的大字符串形式呈现。我想把它拆分成行列表。在Python中如何执行此操作?
使用字符串上的splitlines方法。
从文档中可以得知:
str.splitlines([keepends]) 返回一个列表,其中包含字符串中的每一行,并在行界限处进行分割。 如果给出并且为真,则结果列表不包括换行符。
无论操作系统使用的是"\r\n"、"\r"还是"\n",这种方法都能正确处理字符串中的换行符。
注意,"\n\r"作为行尾也会被识别,但每个行之间会有一个空字符串,因为它会将"\n"视为有效的行尾,而将"\r"视为下一行的结束符。例如:
>>> "foo\n\rbar".splitlines()
['foo', '', 'bar']
s = re.split(r"[~\r\n]+", string_to_split)
这将会给你一个字符串列表 s。
'a\n\nb'
应该被分成三个字符串('a'
、''
和'b'
),那么这种方法会失败。 - Chris B.
string.split()
的资料时,你找到了什么?你尝试了什么?你使用的是哪个教程? - S.Lott