在我用這個“|”替換等號后,我想在文本檔案的每一行上交換兩個數字位置 并保存它,但我無法做到這一點!例如
123456789=123456789
我希望它看起來像這樣:
123453489=126756789
如您所見,我將 34 與 67 交換了!
這是我的代碼:
with open('track.txt', 'r') as z:
data = z.read()
data = data.replace('=', '|')
with open('track2.txt', 'w') as z:
z.write(data)
非常感謝!對不起我的英語不好。
uj5u.com熱心網友回復:
對捕獲組使用正則運算式,以便您可以以不同的順序復制到替換。
import re
with open('track.txt', 'r') as z:
data = z.read()
data = re.sub(r'^(.{5})(.{2})(.*)=(.{2})(.{2})(.*)$', r'\1\5\3|\4\2\6', data, flags=re.MULTILINE)
with open('track2.txt', 'w') as z:
z.write(data)
該re.MULTILINE標志使每行的開頭和結尾相匹配^。$
如果您不喜歡正則運算式,您可以在回圈中使用切片和連接來實作。
new_data = ''
for line in data.splitlines():
fields = line[:5], line[5:7], line[7:10], line[11:13], line[13:15], line[15:]
new_data = fields[0] fields[4] fields[2] '|' fields[3] fields[1] fields[5]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/527641.html
