python - 如何在python中的每一行文件上添加内容?
问题描述
我有至少 100k 行的 .dat 文件。我想使用 python 在每一行的末尾添加一些内容。我有多个 .dat 文件,如果可能的话,让我知道如何处理所有文件,并在行尾添加内容并将它们保存到另一个目录。
解决方案
如果所有文件都在一个目录中,您可以使用模块获取所有这些文件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')
删除当前行中的换行符 (\n),如果您的文件包含 \r\n 作为换行符[:-1]
,您可能需要使用。[:-2]
for line in sf:
使用生成器,这意味着源文件的内容在开始时并没有完全加载到内存中,而只是当前需要的内容。
推荐阅读
- kotlin - 如何制作每次都具有相同实例的媒体播放器
- web-services - Google Place API 反缓存规则是否有任何受支持的解决方法?
- javascript - 未找到模块 - 尝试使用 react-native 和 react-native-tts
- javascript - 仅在加载某些变量后如何在 React 中触发 useEffect
- excel - 在excel vba中复制每行最后一列的值
- java - WebFlux - 在 Webflux 中读取纯文本请求正文
- node.js - “多部分:未找到边界”来自 aws s3
- java - 尝试使用 BottomNavigation 但它的位置不考虑 AppBar 的高度,因此它不可见
- azure-devops - AzureDevOps 测试计划进度报告中的详细信息部分不显示测试套件下的测试
- postgresql - 使用 Last_value() 用 Last not null 填充 null 值