这是我的代码:
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'。
答案 0 :(得分:0)
一旦加载了腌制的数据,它已经被转换为常规的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包含以下内容:
加拿大蒙特利尔
Belmopan,伯利兹
摩纳哥,摩纳哥