就地修改文件中的行
是否可以按顺序逐行解析文件并就地修改行迭代通过文件?
答案:
是的,这可以通过使用备份文件来模拟,如在 Python 标准库中的 fileinput 模块中实现的那样。
示例代码:
考虑以下脚本从提供的文件或标准输入中删除不满足 some_condition 函数指定的特定条件的行:
#!/usr/bin/env python # grep_some_condition.py import fileinput for line in fileinput.input(inplace=True, backup='.bak'): if some_condition(line): print(line, end="") # This outputs modified lines to the current file
使用示例:
要使用此脚本,执行以下命令:
$ python grep_some_condition.py first_file.txt second_file.txt
执行后,first_file.txt 和 secondary_file.txt 都会被修改仅包含满足 some_condition 谓词的行。
以上是在 Python 中迭代时可以就地修改文件行吗?的详细内容。更多信息请关注PHP中文网其他相关文章!