如何从路径中查找所有文本文件,并将该文本文件中的所有行合并到一个文本文件

时间:2016-03-23 05:38:06

标签: python-2.7

我有这个代码来组合一个文本文件中的所有行,并将它组合成另一个新文本文件中的一行。 例如: 我有一个包含这些行的文本文件

学院

逃逸

电源

文本

我需要将这些行合并到网上

College Escape Power Text

这对我来说很好。

代码:

import os
current = None 
parts = []
with open('input.txt', 'rb') as f:
    for line in f:
        if line.startswith('--'):
            current = [line.strip()]
            parts.append(current)

        elif current is not None:
             current.append(line.strip())


with open('output.txt', 'w+b') as f1:
 for part in parts:
    f1.write('\n'+' '.join(part+' '))

但是需要将所有文本文件行合并为一个文本文件。请您指导我。

示例:我的路径中有这些文本文件。

  1. input.txt中

  2. 输入(1).txt

  3. 输入(2).txt

  4. 输入(3).txt

1 个答案:

答案 0 :(得分:1)

您可以读取所有文本文件:

import os

file_contents = []
for file in os.listdir("directory_to_search"):
    if file.endswith(".txt"):
        with open('input.txt', 'rb') as f:
            file_contents.append(" ".join(line.strip() for line in f))

这将使用每个文件的内容填充file_contents,现在您可以将它们全部写入输出文件:

with open('output.txt', 'w+b') as f1:
    all_files_as_one_string = ' '.join(file_contents)
    f1.write(all_files_as_one_string)

请注意,如果每个文件中都有多个单词,则需要循环遍历file_contents列表并加入所有行,然后再从中创建单个大字符串。