whi*_*cko 2 python string file
在python中我可以轻松地逐行读取文件到一个集合中,只需使用:
file = open("filename.txt", 'r')
content = set(file)
Run Code Online (Sandbox Code Playgroud)
集合中的每个元素都包含实际行和尾随换行符.
现在我有一个包含多行的字符串,我想通过正常的set操作与内容进行比较.
是否有任何方法可以将字符串转换为set相同的方式,例如,它还包含换行符?
编辑:
问题"在Python中,如何拆分字符串并保留分隔符?" 处理类似的问题,但答案并不容易采用其他用例.
import re
content = re.split("(\n)", string)
Run Code Online (Sandbox Code Playgroud)
没有预期的效果.
str.splitlines()如果True作为可选keepends参数传递,则该方法完全符合您的要求.它将换行符保留在每行的末尾,如果字符串末尾没有换行符,则不会在最后一行添加换行符.
text = "foo\nbar\nbaz"
lines = text.splitlines(True)
print(lines) # prints ['foo\n', 'bar\n', 'baz']
Run Code Online (Sandbox Code Playgroud)