如何在Python中写入文件后打印文件

时间:2017-11-08 21:47:50

标签: python

我正在努力学习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()

2 个答案:

答案 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)才能到达文件的开头。