读取文件并写入另一个文件

时间:2018-12-26 03:18:10

标签: python

我制作了一个脚本,可以读取文件的每一行,并且我需要在另一文件上存储这些行,但是脚本所做的只是写一行。 我该怎么做?

我试图循环读取行,每次循环都会将它们写在另一个文件上

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

3 个答案:

答案 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)

将打开的线移动到循环的外部。当第一行在循环中时,它会一遍又一遍地创建一个新文件,并在删除该文件之前在该文件中写入一行,以在每次循环迭代开始时创建一个新文件。当您将开始行移到循环外时,文件仅创建一次,将每一行写入该文件,而不是每次都覆盖整个文件。