我想构建一个程序(使用Python),该程序正在分析其他Python脚本。因此,我需要一种使Python程序可读的.py文件的方法。
我考虑过将.py转换为.txt,然后使用.startswith和.find方法。有没有办法将.py转换为.txt?
还可以随时告诉其他分析方法。重要的是要弄清楚诸如if语句或循环以及缩进级别之类的结构。
答案 0 :(得分:2)
还可以随时告诉其他分析方法。重要的是要弄清楚诸如if语句或循环以及缩进级别之类的结构。
如果要以与Python本身解析文件完全相同的方式保留这种结构,则应使用标准库conda install bioconda::snakemake
模块(https://docs.python.org/3/library/ast.html)。 AST的意思是“抽象语法树”:Python理解的代码表示形式。
基本用法是在要解析的文件上调用ast
(https://docs.python.org/3/library/ast.html#ast.parse)。您将获得一个对象(https://docs.python.org/3/library/ast.html#ast.AST),它是AST节点树的顶部。
您可能有兴趣选择ast.parse(file)
(https://github.com/psf/black)的源代码,这是一个Python代码格式化程序,它使用black
来验证格式化后的代码是否具有完全相同的代码行为与最初运行时的代码相同。