我正在使用ast
模块解析我的script.py.
我在文本中找到了所有变量名称:
import ast
python_code= open('D:\\script.py', 'r').read()
root = ast.parse(python_code)
names = sorted({node.id for node in ast.walk(root) if isinstance(node, ast.Name)})
然后我想找到并用另一个列表中的字符串替换每个名称的每个出现。
names = ['var', 'bar',...]
names_edit=['var1','ba1r',...]
到目前为止,我已经能够用atring替换每个变量:
import re
line = re.sub('\w+(?=\()', 'SUBSTRING', python_code)
如何替换所有出现的变量? 最终目标是混淆python源代码文件...