def save_list(todolist, filename):
""" writes the todo list to the filename in correct format
save_list(todolist, filename) -> list
"""
fd = open(filename, 'w') #creates file
for line in fd:
date = as_date_string(line[0]) #to put into correct format
chore = line[1] # assigns chore from touple value
fd.writelines(text)
fd.close()
print result
当我尝试运行此功能时,出现错误
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
save_list(load_list('todo.txt'), 'todo.txt')
File "C:UsersSamDesktopCSSE1001Assignmentassign1.py", line 58, in save_list
for line in fd:
IOError: File not open for reading
该函数应该加载一个列表并将列表写入文件例如 save_list(load_list('todo.txt'), 'todo.txt')
应使用相同的信息重写文件
正如错误明确指出的那样,文件未打开以供读取。您需要打开它进行读/写:
fd = open(filename, 'r+')
我建议您查看如何在python中读取和写入文件。
编辑:
此外,正如 Dannnno 指出的那样,您正在关闭 de 循环中的文件。您需要将fd.close()
移出for
循环。
看看你的代码。您在 for 循环中关闭文件。 你也让它只写,你想要读/写
fd = open(filename, 'r+') #creates file
for line in fd:
date = as_date_string(line[0]) #to put into correct format
chore = line[1] # assigns chore from touple value
fd.writelines(text)
fd.close()
你也没有在任何地方定义text
,但我不知道它应该是什么,所以我无法在那里帮助你