我有一个处理文件的python脚本,逐行处理文件,如果匹配到正则表达式,就调用函数进行处理。
我的问题是,有没有更好的方法来重构我的脚本。虽然目前这个脚本可以运行,但是随着我不断添加更多的正则表达式,需要将缩进保持在编辑器的右侧。
感谢任何想法和建议。 现在我的代码看起来像这样:
for line in fi.readlines():
result= reg1.match(line)
if result: handleReg1(result)
else: result = reg2.match(line)
if result: handleReg2(result) else: result = reg3.match(line)
if result: handleReg3(result) else: result = reg4.match(line)
if result: handleReg4(result) else: result = reg5.match(line)
if result: handleReg5(result)
handlers = [(reg1, handleReg1), (reg2, handleReg2), ...]
这样的写法。然后你的for循环将会是这样:for (reg,handler) in handlers:
- Amber