我有一個 python 腳本的問題,我有一個 .txt 列表,其排列如下:[(1, 0, 2, 2, 1, 2, 1, 2, 2)][(1, 0, 2, 2, 1, 2, 2, 0, 0)][(1, 0, 2, 2, 1, 2, 2, 0, 1)]...我刪除空格和字符的代碼是下一個:import reinn = ''with open('permutations.txt', 'r') as file: inn = file.read()with open('permutations2.txt', 'w') as file: file.write(re.sub(r'[[(n\\n)]]','', inn))我需要結果列表是這樣的:1,0,2,2,1,2,1,2,21,0,2,2,1,2,2,0,01,0,2,2,1,2,2,0,1但只刪除最后一個字符,我該如何解決?先感謝您
2 回答

千萬里不及你
TA貢獻1784條經驗 獲得超9個贊
在這種情況下,找到你想要的東西可能比替換你不想要的東西更容易。似乎您只想用逗號分隔所有數字。這可能更清楚:
# find all numbers and join them with commas
fixed = ",".join(re.findall(r'\d+', line))
然后,您可以在逐行寫入輸出時通讀輸入:
import re
with open(infile, 'r') as inF, open(outfile, 'w') as outF:
for line in inF:
fixed = ",".join(re.findall(r'\d+', line))
outF.write(fixed + "\n")
根據您的輸入,這應該寫成:
1,0,2,2,1,2,1,2,2
1,0,2,2,1,2,2,0,0
1,0,2,2,1,2,2,0,1

慕桂英3389331
TA貢獻2036條經驗 獲得超8個贊
考慮使用列表,而不是將您的 in 文件存儲到字符串中。
您仍然可以將列表中的任何元素剝離(),然后將它們寫入您的輸出文件,并用逗號連接
至于字符,你想刪除什么?
添加回答
舉報
0/150
提交
取消