如何使用Python从文本文件中自动删除一个特定字符?

问题描述 投票:0回答:1

我正试图在一个项目中使用一点代码,将一组字母数字字符的组合写入一个.txt文件中。当我从我的设备上打开这个文件时,它显示如下。

[aaaa
[aaab
[aaac
...
]fh52
...

这段代码应该只输出字母和数字,没有其他字符,但它仍然是。我可以处理.txt文件有这些 "伪影 "的问题,但我需要一个将来使用Python删除这些伪影的方法。

我认为代码应该是什么样子的。

unwanted_chars="[]"
datafile=open("Combinations.txt", 'a+')
for line in datafile:
    for char in line:
        if char in unwanted_chars:
            line.replace(char,"")

如果能得到任何帮助,我将非常感激

python string replace char text-files
1个回答
1
投票

你已经很接近了。 首先,你不需要那个 if 的声明。 第二, replace 办法 str 并没有改变项目的位置,所以你的最后一行没有做任何事情。 你需要把文件读进去,替换掉字符,然后再写出来。

with open('Combinations.text') as f:
    lines=list(f)
for k, line in enumerate(lines):
    for c in unwanted_chars:
        line=line.replace(c,'')
    lines[k]=line

with open('Combinations.text','w') as f:
    f.write('\n'.join(lines))
© www.soinside.com 2019 - 2024. All rights reserved.