我想以编程方式编辑python源代码.基本上我想读取一个.py文件,生成AST,然后写回修改过的python源代码(即另一个.py文件).
有一些方法可以使用标准的python模块解析/编译python源代码,例如ast或compiler.但是,我不认为它们中的任何一个都支持修改源代码的方法(例如删除此函数声明),然后回写修改python源代码.
更新:我想这样做的原因是我想为python 编写一个Mutation测试库,主要是通过删除语句/表达式,重新运行测试和查看什么中断.
文档只说Python解释器执行"基本优化",而不涉及任何细节.显然,它依赖于实现,但有没有办法让我们了解可以优化哪些类型的事物,以及它可以节省多少运行时间?
使用-O有什么缺点吗?
我唯一知道的是-O禁用assert,但可能不应该assert用于生产中仍然可能出错的东西.