如何在写入文件时使用变量? 使用的代码IM是:(Python)写入文件时出错
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
如何解决这个问题?
如何在写入文件时使用变量? 使用的代码IM是:(Python)写入文件时出错
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
如何解决这个问题?
str = FileX.readLines()
FileY.write(str)
,通过字符串而不是文件
'文件'对象没有'readLines'属性,而是'readline',readline()方法读取文件中的一行。 –
此外,不推荐使用'str'作为变量名称,因为它会隐藏整个['str'](https://docs.python.org/3.6/library/stdtypes.html#str) - 类。 –
猜猜我需要更多地练习我的Python,谢谢你的更正! –
FileX
当前文件指针,而不是X.txt
上下文。若要从X.txt
到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
模块来复制文件和/或目录,
import shutil
shutil.copy('X.txt', 'T.txt')
# use shutil.copy2 if you want to make an identical copy preserving all metadata
你想达到什么目的?读取'X.txt'的所有内容并写入'Y.txt'? – kuro
'FileX'是一个文件对象,你正在向'FileY'写入文件对象,'FileY.write'需要'str'不是文件对象。 – JkShaw
您是否试图将文件X的内容复制到文件Y中? –