我正在尝试将一个文件的内容复制到另一个文件。
该脚本已成功将内容复制到文件,但是当我尝试对输出文件运行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()
答案 0 :(得分:2)
在write
操作之后,文件指针位于文件的末尾,因此您需要将其重置为开始。另外,此时文件系统IO缓冲区可能尚未刷新(您尚未关闭文件)...
简单的解决方案:关闭outFile并重新打开以进行读取。
作为旁注:请务必确保确实关闭文件无论发生什么情况,特别是在写入时,否则可能会损坏数据。最简单的方法是with
语句:
with open(...) as infile, (...) as outfile:
outfile.write(infile.read())
# at this point both files have been automagically closed
答案 1 :(得分:1)
写入后您忘记返回outFile
的开头。
因此,插入outFile.seek(0)
应该可以解决您的问题。
答案 2 :(得分:0)
完成写入后,文件指针位于文件的末尾,因此没有数据。重新定位指针以开始文件。