首页 > 解决方案 > 如何在python中的每一行文件上添加内容?

问题描述

我有至少 100k 行的 .dat 文件。我想使用 python 在每一行的末尾添加一些内容。我有多个 .dat 文件,如果可能的话,让我知道如何处理所有文件,并在行尾添加内容并将它们保存到另一个目录。

标签: python

解决方案


如果所有文件都在一个目录中,您可以使用模块获取所有这些文件glob,否则您需要os.walkos模块中遍历目录。

然后,您将遍历从上述函数获得的每个文件名。

在此迭代中,您将首先在另一个目录中创建一个新文件 ( open(..., 'w+')),然后打开要修改的文件 ( open(..., 'r'))。

然后您将开始迭代要修改其内容的文件的内容:

with open(target, 'w+') as tf:
  with open(source, 'r') as sf:
    for line in sf:
      tf.write(line[:-1] + ' appended content\n')

删除当前行中的换行符 (\n),如果您的文件包含 \r\n 作为换行符[:-1],您可能需要使用。[:-2]

for line in sf:使用生成器,这意味着源文件的内容在开始时并没有完全加载到内存中,而只是当前需要的内容。


推荐阅读