Py学习  »  Python

如何在python中的每一行文件中添加内容?

Akram • 4 年前 • 496 次点击  

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47421
 
496 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Daniel F
Reply   •   1 楼
Daniel F    5 年前

如果所有文件都在一个目录中,则可以使用 glob 模块,否则您将需要使用 os.walk os 模块。

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

在此迭代中,您将首先在另一个目录中创建一个新文件( 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')

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

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