在Python中,调用例如temp = open(filename,'r').readlines()会得到一个列表,其中每个元素都是文件中的一行。然而,这些字符串在末尾有一个换行符,这是我不想要的。
我怎么能得到没有换行符的数据?
在Python中,调用例如temp = open(filename,'r').readlines()会得到一个列表,其中每个元素都是文件中的一行。然而,这些字符串在末尾有一个换行符,这是我不想要的。
我怎么能得到没有换行符的数据?
当前回答
我最喜欢的一行程序——如果你不从pathlib import Path:)
lines = Path(filename).read_text().splitlines()
这将自动关闭文件,不需要使用open()…
在Python 3.5中添加。
https://docs.python.org/3/library/pathlib.html#pathlib.Path.read_text
其他回答
我最喜欢的一行程序——如果你不从pathlib import Path:)
lines = Path(filename).read_text().splitlines()
这将自动关闭文件,不需要使用open()…
在Python 3.5中添加。
https://docs.python.org/3/library/pathlib.html#pathlib.Path.read_text
您可以使用列表推导式轻松地将文件读取为列表
with open("foo.txt", 'r') as f:
lst = [row.rstrip('\n') for row in f]
这个脚本将从文件中提取行,并将每一行不带换行符的行保存在file2中。
file = open("temp.txt", "+r")
file2 = open("res.txt", "+w")
for line in file:
file2.writelines(f"{line.splitlines()[0]},0\n")
file2.close()
如果你看line,这个值是data\n,所以我们输入splitlines()
要使它作为一个数组和[0]选择唯一的字数据
要去除尾随的行结束符(/n)字符和空列表值("),尝试:
f = open(path_sample, "r")
lines = [line.rstrip('\n') for line in f.readlines() if line.strip() != '']
我认为这是最好的选择。
temp = [line.strip() for line in file.readlines()]