首页 > 解决方案 > Python - 将数据从一个文件复制到另一个文件

问题描述

我正在尝试将一个文件的内容复制到另一个文件。

该脚本成功地将内容复制到文件中,但是当我尝试READ使用输出文件运行命令以打印输出时,它是空白的。

from sys import argv
script, inputFile, outputFile = argv
inFile = open(inputFile)
inData = inFile.read()
outFile = open(outputFile, 'w+')
outFile.write(inData)
print("The new data is:\n",outFile.read())
inFile.close()
outFile.close()

标签: python

解决方案


操作后write,文件指针位于文件末尾,因此您需要将其重置为开头。此外,文件系统 IO 缓冲区可能还没有被刷新(你还没有关闭文件)......

简单的解决方案:关闭 outFile 并重新打开它以供阅读。

附带说明:始终确保无论发生什么都关闭文件,特别是在写入时,否则您最终可能会收到损坏的数据。最简单的方法是with语句:

with open(...) as infile, (...) as outfile:
    outfile.write(infile.read())

# at this point both files have been automagically closed

推荐阅读