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

How to delete a specific character automatically from a text file using Python?

我正在尝试为一个项目使用一些代码,以获取一组字母数字字符的组合并将它们写入 .txt 文件。当我从我的设备打开文件时,它显示以下内容:

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

代码应该只输出字母和数字,没有其他字符,但它仍然是。我可以处理具有这些 "artifacts" 的 .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,"")

非常感谢对此的任何帮助。

你很接近。首先,您不需要 if 语句。其次,strreplace 方法不会改变项目,所以你的最后一行没有做任何事情。您需要读入文件,替换字符,然后再将其写回。

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))