2017-05-29 109 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']