社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

Akram • 5 年前 • 616 次点击  

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

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

如果所有文件都在一个目录中,则可以使用 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: 使用生成器,这意味着源文件的内容在开始时没有完全加载到内存中,而只加载当前需要的内容。