如何使用Python读取文件并将其完全写入多个文本文件?

如何使用Python读取文件并将其完全写入多个文本文件?,python,file,read-write,Python,File,Read Write,我想加载/读取一个文本文件,并将其“完全”写入另外两个文本文件。稍后我会将其他不同的数据写入这两个文件中的以下文件。 问题是加载的文件只写入第一个文件,而加载的文件中没有数据写入第二个文件 我正在使用的代码: fin = open("File_Read", 'r') fout1 = open("File_Write1", 'w') fout2 = open("File_Write2", 'w') fout1.write(fin.read()) fout2.write(fin.read())

我想加载/读取一个文本文件,并将其“完全”写入另外两个文本文件。稍后我会将其他不同的数据写入这两个文件中的以下文件。 问题是加载的文件只写入第一个文件,而加载的文件中没有数据写入第二个文件

我正在使用的代码:

fin = open("File_Read", 'r')
fout1 = open("File_Write1", 'w')
fout2 = open("File_Write2", 'w')

fout1.write(fin.read())
fout2.write(fin.read())   #Nothing is written here!

fin.close()  
fout1.close()
fout2.close()
发生了什么,解决方案是什么? 我喜欢用open而不是用open


谢谢。

显然,
fin.read()
读取所有行,下一个
fin.read()
将从上一个
.read()
结束的地方继续(这是最后一行)。为了解决这个问题,我只想:

text_fin = fin.read()
fout1.write(text_fin)
fout2.write(text_fin)

注意,
打开
是最安全、最好的方法,但至少在不再需要文件时,您需要尽快关闭该文件。

您可以尝试逐行遍历原始文件,并将其附加到两个文件中。您遇到了这个问题,因为file.write()方法接受字符串参数

fin = open("File_Read",'r')
fout1 = open("File_Write1",'a')   #append permissions for line-by-line writing
fout2 = open("File_Write2",'a')   #append permissions for line-by-line writing
for lines in fin:
    fout1.write(lines)
    fout2.write(lines)

fin.close()
fout1.close()
fout2.close()
***注意:不是最有效的解决方案

fin = open("File_Read",'r')
fout1 = open("File_Write1",'a')   #append permissions for line-by-line writing
fout2 = open("File_Write2",'a')   #append permissions for line-by-line writing
for lines in fin:
    fout1.write(lines)
    fout2.write(lines)

fin.close()
fout1.close()
fout2.close()