首页 > 后端开发 > Python教程 > 如何在不创建临时文件的情况下有效地就地修改文件中的行?

如何在不创建临时文件的情况下有效地就地修改文件中的行?

DDD
发布: 2024-11-29 10:35:10
原创
990 人浏览过

How Can I Efficiently Modify Lines in a File In-Place Without Creating a Temporary File?

就地修改文件中的行

是否可以高效地逐行解析文件并修改特定行而不创建复制或临时文件?

答案:

是的,可以使用备份文件模拟就地编辑。 fileinput 模块为此提供了必要的功能。

示例:

考虑一个脚本,该脚本从作为命令行参数提供的文件中删除不满足特定条件的行,或者标准输入:

import fileinput

for line in fileinput.input(inplace=True, backup='.bak'):
    if some_condition(line):
        print(line)  # The modified line is output to the current file
登录后复制

用法:

要从first_file.txt和second_file.txt中删除不满足some_condition的行,请运行以下命令:

python grep_some_condition.py first_file.txt second_file.txt
登录后复制

完成后,first_file.txt 和 secondary_file.txt 将仅包含满足以下条件的行some_condition() 谓词。

此方法通过在编辑过程中创建备份文件 .bak 来确保有效的就地修改,并在发生任何错误时保留原始文件。

以上是如何在不创建临时文件的情况下有效地就地修改文件中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板