我目前正在python中使用AST。我接收一个python文件,生成它的AST,修改它,然后重新编译回源代码。我正在使用一个转换器,它将getter添加到类中(我使用的是ast.NodeTransformer). 目前我的代码按预期工作,但没有保留注释,这是我的问题。以下是我的代码:#visits nodes and generates getters or setters
def genGet(file,type,func):
global things
things['func'] = func
things['type'] = type
with open(file) as f:
code = f.read() #get the code
tree = ast.parse(code) #make the AST from the code
genTransformer().visit(tree) #lets generate getters or setters depending on type argument given in our transformer so the genTransformer function
source = meta.asttools.dump_python_source(tree) #recompile the modified ast to source code
newfile = "{}{}".format(file[:-3],"_mod.py")
print "attempting to write source code new file: {}".format(newfile) #tell everyone we will w