如何将 pickle 文件转储到新行中?
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')。我想知道在创建 pickle 文件时是否有办法做到这一点,这样当您打开它时,您会看到一个垂直列表,而无需执行任何其他操作。例如,当我打开文件时:
fh = open("cities.txt", 'rb')
x = pickle.load(fh)
print(x)
我希望输出是一个垂直列表,而不必在打印语句中添加 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)
这将导致 cities.txt 包含以下内容:
Montreal,Canada
Belmopan,Belize
Monaco,Monaco
这是我的代码:
f = open("cities.txt", 'wb')
pickle.dump(city_list, f)
f.close()
我知道通常要垂直打印一个列表,换行,您可以在打印语句中执行此操作:print(*city_list, sep='\n')。我想知道在创建 pickle 文件时是否有办法做到这一点,这样当您打开它时,您会看到一个垂直列表,而无需执行任何其他操作。例如,当我打开文件时:
fh = open("cities.txt", 'rb')
x = pickle.load(fh)
print(x)
我希望输出是一个垂直列表,而不必在打印语句中添加 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)
这将导致 cities.txt 包含以下内容:
Montreal,Canada
Belmopan,Belize
Monaco,Monaco