我正在从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']
答案 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']