我制作了一个脚本,可以读取文件的每一行,并且我需要在另一文件上存储这些行,但是脚本所做的只是写一行。 我该怎么做?
我试图循环读取行,每次循环都会将它们写在另一个文件上
with open('text.txt') as f:
for line in f:
print line
file = open('testfile.txt', 'w')
file.write(line)
if 'str' in line:
break
答案 0 :(得分:4)
我认为您应该始终关闭文件,因此打开以写入的文件也应使用with
with open("test.txt") as f, open("testfile.txt", "w") as f2:
for line in f:
f2.write(line)
if 'str' in line:
break
答案 1 :(得分:3)
尝试一下:
with open('text.txt') as f:
file = open('testfile.txt', 'w')
for line in f:
print line
file.write(line)
if 'str' in line:
break
在循环外创建文本文件将起作用。
答案 2 :(得分:0)
将打开的线移动到循环的外部。当第一行在循环中时,它会一遍又一遍地创建一个新文件,并在删除该文件之前在该文件中写入一行,以在每次循环迭代开始时创建一个新文件。当您将开始行移到循环外时,文件仅创建一次,将每一行写入该文件,而不是每次都覆盖整个文件。