就地修改文件中的行
逐行解析文件為操作內容提供了寶貴的功能。但是,如果在遍歷文件時需要編輯文件中的行,您可能想知道這是否可以實現。
內嵌編輯
傳統上,修改文件-地點並不是一項簡單的任務。然而,利用備份檔案的模擬技術(類似於 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()的滿足some_condition()行謂詞。
以上是如何使用 Python 就地修改檔案中的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!