文件未打开以供读取


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,但我不知道它应该是什么,所以我无法在那里帮助你

相关内容

  • 没有找到相关文章

最新更新