2017-05-29 110 views
0

我正在阅读python的.txt文件。这被用作我的程序的配置文件。阅读.txt文件没有 n python 3.6

唯一的问题是,当我使用.readlines()函数时,它会在有新行时返回带有“\ n”的文本列表。有没有办法在最后没有这些文件的情况下读取文件?

这将使基于配置文件的调整变量更容易。

文本文件:

800 
500 
212,122,122 

这是代码:

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

输出:

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

回答

1

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] 

作为一个方面说明,覆盖文件句柄变量名称并不是非常明智的做法。而不是config = open(...)

1

更好地使用该手柄和线条的列表和上下文管理器(with open("xxx") as config:)2个不同的变量名可以尝试这样的事情

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

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