簡體   English   中英

如何將泡菜文件轉儲到新行中?

[英]How to dump pickle file into new lines?

這是我的代碼:

f = open("cities.txt", 'wb')
pickle.dump(city_list, f)
f.close()

我知道通常將列表垂直打印到新行中,您可以在以下打印語句中執行此操作:print(* city_list,sep ='\\ n')。 我想知道在創建泡菜文件時是否有辦法做到這一點,因此當您打開它時,您會看到一個垂直列表,而無需執行其他任何操作。 例如,當我打開文件時:

fh = open("cities.txt", 'rb')
x = pickle.load(fh)
print(x)

我希望輸出為垂直列表,而不必在print語句中添加sep ='\\ n'。

加載腌制的數據后,它已被轉換為常規的Python列表。 那么,您要問的是:如何打印列表項,每行一項?

答案很簡單:

for item in x:
    print(item)

相反,如果您希望輸出文件更容易被人類閱讀,則應使用Python的酸洗模塊提供的格式以外的格式對數據進行編碼。

使用CSV:

import csv

city_list = [
    ('Montreal', 'Canada'),
    ('Belmopan', 'Belize'),
    ('Monaco', 'Monaco'),
]

with open('cities.txt', 'w') as file:
    writer = csv.writer(file)

    for city, country in city_list:
        writer.writerow(city, country)

這將導致city.txt包含以下內容:

加拿大蒙特利爾

貝爾莫潘,伯利茲

摩納哥摩納哥

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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