就地修改文件中的行
逐行解析文件为操作内容提供了宝贵的功能。但是,如果在遍历文件时需要编辑文件中的行,您可能想知道这是否可以实现。
内联编辑
传统上,修改文件-地点并不是一项简单的任务。然而,利用备份文件的模拟技术(类似于 Python 文件输入模块所采用的方法)可以提供解决方案。
示例脚本
考虑以下示例脚本:
#!/usr/bin/env python import fileinput for line in fileinput.input(inplace=True, backup='.bak'): if some_condition(line): print line, # this goes to the current file
在此脚本中,我们使用 fileinput.input 从命令行或 stdin 提供的文件中读取。通过指定 inplace=True,我们可以修改当前文件。 backup 参数创建一个扩展名为 .bak 的备份文件。
操作
当脚本迭代每一行时,它会评估每个行上的给定条件 (some_condition)线。如果满足条件,该行将打印回当前文件,从而有效地就地修改它。
用法示例
例如,运行脚本:
$ python grep_some_condition.py first_file.txt second_file.txt
将导致first_file.txt和second_file.txt仅包含满足some_condition()的行谓词。
以上是如何使用 Python 就地修改文件中的行?的详细内容。更多信息请关注PHP中文网其他相关文章!