类型错误:write() 参数必须是 str,而不是 _io.TextIOWrapper

2024-03-27

如何将一个文件复制到另一个文件?

我使用的代码是:

FileX = open("X.txt","r")
FileY = open("Y.txt","w")
X = FileX
FileY.write(FileX)
FileX.close()
FileY.close()

这给出了错误:

TypeError: write() argument must be str, not _io.TextIOWrapper

我该如何修复这个错误?


FileX当前是文件指针,而不是上下文X.txt。复制所有内容X.txt to Y.txt,你将需要使用FileX.read()写入读取的内容FileX:

FileY.write(FileX.read())

也许您还应该考虑使用with陈述,

with open("X.txt","r") as FileX, open("Y.txt","w") as FileY:
    FileY.write(FileX.read())
# the files will close automatically

而且正如评论所建议的,您应该使用shutil https://docs.python.org/3.6/library/shutil.html用于复制文件和/或目录的模块,

import shutil
shutil.copy('X.txt', 'T.txt')
# use shutil.copy2 if you want to make an identical copy preserving all metadata
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型错误:write() 参数必须是 str,而不是 _io.TextIOWrapper 的相关文章