簡體   English   中英

如何在python 3中讀寫字符串列表到文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM