Python 的 open(filename,'r').readlines() 方法提供文件中的行列表,但每个元素包括换行符。要检索不带这些字符的数据,可以使用多种方法。
一种方法是读取整个文件并使用 str.splitlines 分割行:
temp = file.read().splitlines()
或者,您可以从每行中去除换行符手动:
temp = [line[:-1] for line in file]
注意:此方法假设文件以换行符结尾;否则,最后一行将丢失一个字符。
要避免此问题,如果缺少换行符,您可以将换行符附加到文件末尾:
with open(the_file, 'r+') as f: f.seek(-1, 2) if f.read(1) != '\n': f.write('\n') f.flush() f.seek(0) lines = [line[:-1] for line in f]
或者,更简洁地,去掉换行符:
[line.rstrip('\n') for line in file]
readlines 方法有效地模拟了以下代码:
def readlines(self): lines = [] for line in iter(self.readline, ''): lines.append(line) return lines
因此,readlines() 还保留了 readline() 读取的换行符。
以上是如何在Python中读取没有换行符的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!