如何遍历 replace() 函数 python

how to iterate through replace() function python

我正在尝试遍历我的 replace() 函数,以删除我的 .txt 文件中的 [1:n](见下图),但它似乎不起作用。

我试过很多东西:

with open('glad.txt', 'rt') as f:
  content = f.read()
  for line in content:
    for x in range(118):
      z = line.replace(f"[{x}]", "")
  f.close()    
print(z)

还有:

with open('glad.txt', 'rt') as f:
  content = f.read()
  test = open("out.txt", "wt")
  for line in content:
    for x in range(120):
      z = test.write(line.replace(f"[{x}]", ""))
  f.close()
print(z)

但都没有成功。

有谁知道如何解决这个问题?

此解决方案使用 re.sub() 函数来替换这些字符。

import re

text = """
OK this is some text. [123][456][789]
just some more text.[007]
"""

output = re.sub(r'\[\d+\]', '', text)

print(output)

输出

OK this is some text.
just some more text.

更新:

添加文件读取示例。确保将文件作为第一个参数传递给脚本。

import re
import sys

with open(sys.argv[1]) as fin:
    text = fin.read()

output = re.sub(r'\[\d+\]', '', text)

print(output)