我遇到了一个非常难看的代码,它是一个代码生成器,它接受一个配置文件并输出C代码。 它有效,但脚本充满了以下内容:
outstr = "if(" + mytype + " == " + otherType + "){\n"
outstr += " call_" + fun_for_type(mytype) + "();\n"
outstr += "}\n"
# Now imagine 1000 times more lines like the previous ones...
是否有工具可以自动将代码更改为更适合的代码(部分更改非常受欢迎)?像:
outstr = """if ({type} == {otherType}) {
call_{fun_for_type}({type});
}
""".format(type=mytype, otherType=otherType, fun_for_type=(mytype))
如果这是C,那么我会滥用Coccinelle,但我不知道Python的类似工具。
由于
答案 0 :(得分:-2)
您可以使用词典:
datas = {"type":mytype, "otherType":otherType, "fun_for_type":(mytype)}
outstr = "if ({type} == {otherType}) {{\n\
call_{fun_for_type}({type});\n\
}}\n".format(**datas)