如何读取txt文件的分支并使用python写入新的txt文件?

时间:2016-04-06 13:16:10

标签: python branch

我在'\ data'中有一些txt文件,例如'1.txt'和'2.txt'。现在我想在另一个名为'3.txt'的文件中添加这两个文件的最后一行,但我只能将'1.txt'的最后一行添加到'3.txt'

Apr  6 12:20:11 XXX.local CalendarAgent[229]: [com.apple.calendar.store.log.ICS] [CaliCalTranslator: Event 97323C3B-753D-46E5-830E-E182BEAA5E0D has invalid instance on date 2016-04-11 00:00:00 +0000.  Filtering]

2 个答案:

答案 0 :(得分:0)

您正在使用' w'打开输出文件,这意味着'写',因此它将覆盖任何现有内容(而不是' a' - 追加)。
因此,假设您在\ data文件夹中的每个文件上多次运行脚本,那么您只是一遍又一遍地覆盖该文件,这就是为什么最后只能获得一行的原因。

答案 1 :(得分:0)

正如yozziz74所说,你是在写模式下打开文件,因此每次都会覆盖,但你还没有定义要写入文件的行变量。如果想要的效果是覆盖每个,那么保持'w'否则改为'a'。

此代码应该可以满足您的需求:

from os import listdir
from sys import argv
from os.path import exists

files = [ file for file in listdir('.') if file.endswith('.txt') ]

to_file=argv[1]

out_file=open(to_file,'a')

for file in files:
    in_file=open(file)
    lines=in_file.readlines()

    last_line=lines[-1]
    in_file.close()

    out_file.write(last_line)
    in_file.close()

out_file.close()