我如何在python3中连接多个文件

时间:2017-06-11 17:03:13

标签: python python-3.x codeigniter ubuntu

这是我的代码:

filenames = ['DAY_1.txt', 'DAY_2.txt']
    with open('house_a.txt', 'w') as House_A:
        for fname in filenames:
             with open(fname) as copyfile:
                for line in copyfile:
                House_A.write(line)

我的文件夹存储在

  

下载/ Aras / House A /(DAY_1.txt,DAY_2.txt ....)

我想在一个文件DAY_1.txt连接所有DAY_30.txtHouse_a.txt

有人可以告诉我一个简单的方法吗?

2 个答案:

答案 0 :(得分:0)

帮助您解决代码中可能发生的问题。您正在执行写入操作,因此每次遍历要从中获取数据的文件时,您将在循环中重新编写整个文件。您实际要做的是改为使用'a'(追加)指令。

此外,您正在循环浏览正在阅读的文件,这实际上是没有必要的。您可以使用readreadlines方法在没有循环的情况下阅读整个内容。

这是一个帮助说明的例子。

假设已存在两个文件:f1.txtf2.txt

f1.txt的内容:

1
2
3
4

' f2.txt`的内容:

5
6
7
8
9
>>> fns = ['f1.txt', 'f2.txt']
>>> fn = 'f3.txt'
>>> with open(fn, 'a') as fa:
...  for f in fns:
...   with open(f) as fr:
...    fa.write(fr.read())
...   

' f3.txt'的内容:

1
2
3
4
5
6
7
8
9

答案 1 :(得分:0)

试试这个!

with open('House_a.txt', 'w') as out:
    for file_name in os.listdir('folder/where/files_stored'):
        with open(file_name) as file:
            out.write(file.read())

os.listdir显示目录中的所有文件。