首页 > 解决方案 > Python连接多个文件,每个文件最多有一定的行数

问题描述

我正在寻找一种能够连接不同 .txt 文件的代码,但每个文件最多只能有一定数量的行。

假设我们有很多文本文件,如下所示:

文件 1.txt:

AAAAA

BBBBB

CCCCC

DDDDD

EEEEE

文件2.txt:

FFFFF

GGGGG

HHHHH

IIIII

JJJJJ

文件 3.txt:

KKKKK

LLLLL

MMMMM

NNNNN

OOOOO

文件4.txt:

PPPPP

QQQQQ

RRRRR

SSSSS

TTTTT

我们如何制作一个如下所示的日志文件(假设所有这些文件必须仅连接到包含第 3 行的行号)?

结果:

AAAAA

BBBBB

CCCCC

FFFFF

GGGGG

HHHHH

KKKKK

LLLLL

MMMMM

PPPPP

QQQQQ

RRRRR

这适用于 Python 3.7.3。我成功地使用以下示例连接文件:

Python 连接文本文件

但我无法为每个文件的特定最大行数修改代码。

开发到现在的相关代码(但没有成功):

    a = open('newfile.log', 'wb')
    with a as wfd:
            for f in glob.glob(r'*.txt'):
                    with open(f,'rb') as fd:
                            for line in fd:
                                    for line in range (0, 3):
                                            a.write(line)  

有什么帮助吗?

获得的错误信息说:

TypeError:需要一个类似字节的对象,而不是“int”

标签: python

解决方案


如果我理解正确,试试这个:

import glob

limit = 3
with open('newfile.log', 'wb') as wfd:
    for f in glob.glob(r'*.txt'):
        with open(f, 'rb') as fd:
            line_count = 0
            for line in fd:
                if line_count >= limit:
                    break
                wfd.write(line)
                line_count += 1

推荐阅读