我有一长串我在程序中硬编码的值。随着列表变长,它往往会变得混乱,我决定将所有这些值放在一个文件中,程序将从文件中加载这些值。但是,我遇到了一个问题。如果这些值在程序中以这种方式编码:fruits = ["Apple", "Banana", "Citrus"],python 能够将它们分成 3 个字符串。使用从文件读取方法,python 将其作为 1 个字符串。水果和记录都是列表类型。知道为什么会这样吗?此外,任何从文件中读取并作为单个字符串加载的方法,以便我可以在记录列表变量上使用 forloop 来获取值,就像水果列表一样?谢谢。这是我的代码。fruits = ["Apple", "Banana", "Citrus"]filepath = "C:\\Users\\vital\\Documents\\Python Scripts\\PythonInvestment\\loadfile.txt"records=open(filepath).readlines()print(type(fruits))print(type(records))for r in records: print("Display Value from file: "+r+'\n')for t in fruits: print("Display value in tickers variable: "+t)这些是结果<class 'list'><class 'list'>Display Value from file: "Apple", "Banana", "Citrus"Display value in tickers variable: AppleDisplay value in tickers variable: BananaDisplay value in tickers variable: Citrus
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
如果您将所有单词保存在文件中的一行中,则在加载后,您应该使用 split 来获取数组。如:
# a.txt
Apple,Banana,Citrus
因为只有一行,你不需要 use readlines,只需使用 read 。
with open('a.txt') as f:
fruits = f.read().strip().split(',')
for t in fruits:
print("Display value in tickers variable: "+t)
添加回答
举报
0/150
提交
取消