我正在读取文件
with open('file.html', 'r') as lines:
for _ in range(19):
line = lines.readline()
line = line.replace('textA', '')
line = line.replace('textB', '')
line = line.replace('textC', '')
line = line.replace('textD', '')
我总共有8行替换。我想有一个更Python的方式来做到这一点。
有一个聪明的方法来做到这一点。也许以某种方式使用
filter
和map
? 最佳答案
您可以使用regular expression:
import re
from itertools import islice
pattern = re.compile(r'textA|textB|textC|textD')
with open('file.html', 'r') as lines:
for line in islice(lines, 18, 19):
line = pattern.sub('', line)
我故意保留
pattern
的位置;大概您真正的替代品并非全部以text
开头;否则,您可以使用r'text[A-D]'
作为模式。我用
itertools.islice()
跳过了前18行,只处理了第19行。关于python - 属性上的Python映射函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28176176/