读取没有\ n python 3.6的.txt文件

时间:2017-05-29 12:32:52

标签: python-3.x python-3.6

我正在从python中读取.txt文件。这被用作我程序的配置文件。

唯一的问题是,当我使用.readlines()函数时,它会返回一个文本列表,其中包含" \ n"什么时候有一条新线。有没有办法在没有这些文件的情况下读取文件?

这样可以更容易地根据配置文件调整变量。

文字档案:

800
500
212,122,122

这是代码:

config = open("config.txt", "r")
config = config.readlines()
print(config)

输出:

['800\n', '500\n', '212,122,122']

2 个答案:

答案 0 :(得分:3)

readlines包含您不需要的行分隔符。

只是做:

config = [x.rstrip("\n") for x in config.readlines()]

或只使用等同于splitlines()

split("\n")
config = config.read().splitlines()

内存最好的方法是使用文件迭代器来避免一次读取所有文件(迭代器也返回换行符):

config = [x.rstrip("\n") for x in config]

作为旁注,覆盖文件句柄变量名称并不明智。最好为句柄和行列表使用2个不同的变量名称,并使用上下文管理器(with open("xxx") as config:)而不是config = open(...)

答案 1 :(得分:1)

您可以尝试这样的事情

config = open("config.txt", "r")
config = config.read().splitlines()
print(config)

结果 ['800', '500', '212,122,122']