就地修改文件中的行
是否可以高效地逐行解析文件并修改特定行而不创建复制或临时文件?
答案:
是的,可以使用备份文件模拟就地编辑。 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中文网其他相关文章!