[英]How do I read and write a list of strings to a file in python 3?
我嘗試了一些方法,但是它們要么不起作用,要么變成列表中每個項目的字母。 例如,這(用於編寫列表):
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']
基本上,我希望它能正確讀取,並正確分隔不同的值。
您的寫作片段中的“數據”是什么? 我猜這是一個字符串而不是列表,因此對其進行迭代將在每行寫入一個字符,而不是每行寫入一個屬性。
在編輯器中打開文本文件,以確保您正確編寫了它。
您已將數據寫為char列,並且每次將其寫回char時。顯然,當您將數據寫到文件中時,數據就是一行數據。
**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)並嘗試再次寫入和讀取即可。 一切應該順利。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.