在Python中,调用例如temp = open(filename,'r').readlines()会得到一个列表,其中每个元素都是文件中的一行。然而,这些字符串在末尾有一个换行符,这是我不想要的。

我怎么能得到没有换行符的数据?


当前回答

我认为这是最好的选择。

temp = [line.strip() for line in file.readlines()]

其他回答

我认为这是最好的选择。

temp = [line.strip() for line in file.readlines()]
import csv

with open(filename) as f:
    csvreader = csv.reader(f)
    for line in csvreader:
         print(line[0])
temp = open(filename,'r').read().split('\n')

您可以使用列表推导式轻松地将文件读取为列表

with open("foo.txt", 'r') as f:
    lst = [row.rstrip('\n') for row in f]

我最喜欢的一行程序——如果你不从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