我有一个 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
提交
取消