python - 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。我成功地使用以下示例连接文件:
但我无法为每个文件的特定最大行数修改代码。
开发到现在的相关代码(但没有成功):
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”
解决方案
如果我理解正确,试试这个:
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
推荐阅读
- reactjs - 处理 react-youtube 包时,在 React.js 中 setInterval 没有正确清除
- spring-integration - JMS MQ 通道不断增加和耗尽
- sql - 对多个 CTE 表执行一系列计算
- vue.js - 如何在 Vue2 中使用依赖项中的全局组件
- datepicker - Syncfusion 日期选择器不适用于角度反应形式
- python - Typing - 函数返回值类型与表达式类型相同
- c++ - _CrtSetBreakAlloc 使用内存内容而不是分配号
- postgresql - 在 GMT 时区插入 current_timestamp 会给出本地时间
- mongodb - MongoDB:排序,但在结果中首先使用特定文档?
- javascript - 事件处理语法