即使在打开后对关闭的文件进行I / O操作

时间:2018-06-19 15:59:42

标签: python-3.x text io

我正在尝试使用Python 3.6将以“ file1.txt”编写的行复制到另一个文件“ file2.txt”,只是更改了名称。我用于执行此操作的代码是:

with open('path_to_file1', 'r') as fin:
    with open('path_to_file2', 'w') as fout:
        for line in fin:
            fout.write(line.replace('ending_file1', 'ending_file2'))

但是我收到错误“ ValueError:对已关闭文件的I / O操作”。有谁知道为什么会这样?感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我建议您先检查代码的缩进。然后确保为文件包括正确的扩展名(如有必要)。即使在for语句的缩进中,第一个“ with”之后的缩进似乎也没有。这可能会导致I / O值错误。重组代码后,对我来说效果很好:

with open('path_to_file1.txt', 'r') as fin:
    with open('path_to_file2.txt', 'w') as fout:
        for line in fin:
            fout.write(line.replace('ending_file1', 'ending_file2'))