python - 如何按每 n 行拆分文件?
问题描述
我知道按行拆分文件,您可以这样做f.readlines()
,但是如果我试图按每 n 行拆分文件怎么办?例如,我有一个文件
line1
line2
line3
line4
line5
line6
line7
line8
而不是逐行循环,我想每两行循环一次,所以它会输出
line1
line2
line3
line4
ETC
解决方案
当你循环时,你可以得到该行的索引enumerate()
并在那里分割
collection = []
sub_collection = []
with open("test.txt") as fh:
for index, line in enumerate(fh, 1): # file-likes are iterable by-lines
sub_collection.append(line)
if index % 2 == 0: # modulus is 0 every Nth line
collection.append("".join(sub_collection))
sub_collection = []
>>> collection
['line1\nline2\n', 'line3\nline4\n', 'line5\nline6\n', 'line7\nline8\n']
推荐阅读
- scala - 为什么 Scala 运行时反射不再适用于 lambda?
- javascript - ES6 箭头函数。返回给未定义
- python - Django resolve() 无法使用 i18n url 解析
- fme - FME:使用表达式评估器计算多个属性
- charts - Google Charts hAxis:如何在信息框中添加文本?
- python - 标签不是 x 出现在所有训练示例中
- python - 绘制故障线而不将每条线连接在一起
- java - 如何循环遍历每个数组项并除以二?
- python - python 中的 Cholesky 实现 - 求解 Ax=b
- phpmyadmin - 登录