如何使用 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
语句。其次,str
的 replace
方法不会改变项目,所以你的最后一行没有做任何事情。您需要读入文件,替换字符,然后再将其写回。
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))
我正在尝试为一个项目使用一些代码,以获取一组字母数字字符的组合并将它们写入 .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
语句。其次,str
的 replace
方法不会改变项目,所以你的最后一行没有做任何事情。您需要读入文件,替换字符,然后再将其写回。
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))