我有多個文本檔案,如下所示:
我想讀取所有文本檔案并在每個檔案中找到 IP 值并將其替換為文本中可用的 noresult 字串并將每個檔案保存在 python 中。
文本1
Id = 0005
Cause = ERROR
Code = 307
Event Time = 2020-11-09 10:16:48
Severity = WARNING
Severity Code = 5
result = noresult
Id = 0006
Cause = FAILURE
Code = 517
Event Time = 2020-11-09 10:19:47
Severity = MINOR
Severity Code = 4 result = noresult
ip[10.1.1.1
文本2
Id = 0007
Cause = ERROR
Code = 307
Event Time = 2020-11-09 10:16:48
Severity = WARNING
Severity Code = 5
Id = 0008
Cause = FAILURE
result = noresult
Code = 517
Event Time = 2020-11-09 10:19:47
Severity = MINOR
Severity Code = 4
result = noresult
ip[10.1.1.3
需要的結果:
文本1
Id = 0005
Cause = ERROR
Code = 307
Event Time = 2020-11-09 10:16:48
Severity = WARNING
Severity Code = 5
result = 10.1.1.1
Id = 0006
Cause = FAILURE
Code = 517
Event Time = 2020-11-09 10:19:47
Severity = MINOR
Severity Code = 4 result = 10.1.1.1
ip[10.1.1.1
文本2
Id = 0007
Cause = ERROR
Code = 307
Event Time = 2020-11-09 10:16:48
Severity = WARNING
Severity Code = 5
Id = 0008
Cause = FAILURE
result = 10.1.1.3
Code = 517
Event Time = 2020-11-09 10:19:47
Severity = MINOR
Severity Code = 4
result = 10.1.1.3
ip[10.1.1.3
uj5u.com熱心網友回復:
如果 ip 始終是您的最后一個欄位,您可以簡單地執行以下操作:
txt = txt.replace("noresult", txt.split("ip[")[-1])
詳細來說,如果要讀、改、寫:
txt = open("filename.txt", "r").read()
txt = txt.replace("noresult", txt.split("ip[")[-1])
open("filename.txt", "w").write(txt)
如果您有更多檔案,您可以將它們的路徑分組到一個串列中file_list = ["file1.txt", "file2.txt", ... ],然后在此串列上回圈重復上述程序:
for filepath in file_list:
txt = open(filepath, "r").read()
txt = txt.replace("noresult", txt.split("ip[")[-1])
open(filepath, "w").write(txt)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/473373.html
標籤:Python python-3.x 正则表达式 麻木的 python-2.7
