假设我有一个txt文件,
fantasy,12/03/2014
sci-fi,13/04/2014
history,03/04/2014
我使用以下代码将其转换为Python列表
def load_list(filename):
my_file = open(filename, "rU")
my_list = []
for line in my_file:
a,b = line.rstrip("\n").split(",")
my_list.append((as_datetime(b),a))
my_file.close()
return my_list
输出
[(datetime.datetime(2014, 3, 12, 0, 0), '幻想'), (datetime.datetime(2014, 4, 3, 0,
0), '历史'), (datetime.datetime(2014, 4, 12, 0, 0), '科幻')]。
我可以假设该列表在使用时将被进一步修改(添加和删除)。我的问题是,如何实现将列表导出为遵循原始文件格式的 txt 文件的功能?
最佳答案
您可以使用csv阅读和写作模块。
为了遵循日期格式,请使用 datetime
模块中的 strptime()
和 strftime()
( docs )。
这是一个完整的示例:
import csv
from datetime import datetime
FORMAT = '%d/%m/%Y'
def load_list(filename):
my_list = []
with open(filename, "rU") as f:
reader = csv.reader(f)
for line in reader:
my_list.append([line[0], datetime.strptime(line[1], FORMAT)])
return my_list
def save_list(filename, my_list):
with open(filename, "w") as f:
writer = csv.writer(f)
for item in my_list:
writer.writerow([item[0], item[1].strftime(FORMAT)])
my_list = load_list('input.txt')
save_list('output.txt', my_list)
它从input.txt
读取数据并将其写入output.txt
。运行脚本后,output.txt
包含与 input.txt
相同的数据:
fantasy,12/03/2014
sci-fi,13/04/2014
history,03/04/2014
希望有帮助。
关于python - 将列表从 python 保存到文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22895333/