我正在努力学习Python艰难的方法,并试图修改练习17,你将一个文件(Doc1.txt)复制到另一个文件(Doc2.txt),但它使用下面的代码无法正常工作。如果我省略第11行,那么当我尝试打印出" new"的内容时,文件复制工作正常。 Doc2包含第11行,我收到错误" IOError:文件未打开以供阅读"。我觉得我在这里遗漏了一些非常基本的东西并且有点沮丧。我知道以前曾问过类似的问题,但答案并没有帮助。非常感谢提前。
from sys import argv
script, from_file, to_file = argv
in_file = open(from_file)
indata = in_file.read()
out_file = open(to_file, 'w')
out_file.write(indata)
print out_file.read()
out_file.close()
in_file.close()
答案 0 :(得分:2)
您正在使用' w'打开out_file。标志,仅供写入。您需要关闭它,然后重新打开' r'或者只是用' r +'打开它。从一开始就进行读写
更改
out_file = open(to_file, 'w')
到
out_file = open(to_file, 'r+')
然后添加以下内容以返回文件的开头
out_file.seek(0)
答案 1 :(得分:0)
该文件仅供写入。将"w"
参数设置为"r+"
以进行读写。
除此之外,在写入文件后,out_file
位置将位于文件的末尾。要读取内容,必须先添加行out_file.seek(0)
才能到达文件的开头。