我尝试了一些方法,但它们要么不起作用,要么变成列表中每个项目的字母。 例如,这(用于编写列表):
with open("data.txt", 'w') as f:
for s in data:
f.write(s + '\n')
和这(用于阅读列表):
try:
with open("data.txt", 'r') as f:
data = [Line.rstrip('\n') for Line in f]
except FileNotFoundError:
print ("There is nothing to show")
else:
print (data)
当文件中我想要的列表是“['Bob:6','Dave:4']”时,打印出来:“
['B', 'o', 'b', ':', '6', 'D', 'a', 'v', 'e', ':', '4']
基本上,我希望它可以正确读取,并将不同的值正确分开。
答案 0 :(得分:0)
您的写作代码段中的“数据”是什么?我猜它是一个不是列表的字符串,因此迭代它就是每行写一个字符,而不是每行写一个属性。
在编辑器中打开文本文件以确保您正确地编写它...
答案 1 :(得分:0)
您已将数据写为一列字符,并且每次写入时都会将其写回为字符。当您写入文件时,显然您的数据是一行数据。
**for s in data**
--- if you data is just one line, it will be written as a column...
so I think you have written Bob:6', 'Dave:4' to file,
作为单个字符列 您应该将数据从字符串更改为列表。 只需将该数据字符串放入列表中,data = list(data) 并尝试再次写作和阅读。一切都应该顺利。