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

在Python中写入文件后如何打印文件,python,Python,我一直在努力学习Python,并尝试修改练习17,在练习17中,您将一个文件(Doc1.txt)复制到另一个文件(Doc2.txt),但使用下面的代码无法工作。如果省略第11行,文件复制可以正常工作,但是,当我试图通过包括第11行来打印“新”Doc2的内容时,会出现错误“IOError:file not open for reading”。我觉得我错过了一些基本的东西,有点沮丧。我知道以前也有人问过类似的问题,但这个答案没有帮助。非常感谢 from sys import argv script

我一直在努力学习Python,并尝试修改练习17,在练习17中,您将一个文件(Doc1.txt)复制到另一个文件(Doc2.txt),但使用下面的代码无法工作。如果省略第11行,文件复制可以正常工作,但是,当我试图通过包括第11行来打印“新”Doc2的内容时,会出现错误“IOError:file not open for reading”。我觉得我错过了一些基本的东西,有点沮丧。我知道以前也有人问过类似的问题,但这个答案没有帮助。非常感谢

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()

该文件仅为写入而打开。将
“w”
参数设置为
“r+”
进行读写


此外,写入文件后,
out\u文件
位置将位于文件末尾。要读取内容,必须首先在文件的开头添加行
out\u file.seek(0)

您正在打开带有“w”标志的_文件,该标志仅用于写入。您需要关闭它,然后用“r”重新打开,或者用“r+”打开它,以便从一开始就进行读写操作

改变

out\u file=open(到文件'w')

out\u file=open(到文件'r+')

然后添加以下内容以返回到文件的开头


out\u file.seek(0)

问题正是错误告诉您的。您正在尝试读取一个仅为写入而打开的文件。看见