2024-06-08 04:07:43 发布
网友
我想建立一个程序(用Python)来分析其他Python脚本。因此,我需要一种方法使.py文件对Python程序可读。你知道吗
我考虑过简单地将.py转换为.txt,然后使用.startswith和.find方法。有没有办法把.py转换成.txt?你知道吗
也可以随意告诉其他分析方法。重要的是,像if语句、循环和缩进级别这样的结构能够被理解。你知道吗
Also feel free to tell other ways for analysing. Important is that structures like if-statements or loops and indentation-levels get figured out.
如果希望以与Python本身解析文件完全相同的方式保留这种结构,那么应该使用标准库ast模块(https://docs.python.org/3/library/ast.html)。AST的意思是“抽象语法树”:Python理解的代码表示。你知道吗
ast
基本的使用模式是对要解析的文件调用ast.parse(file)(https://docs.python.org/3/library/ast.html#ast.parse)。您将得到一个对象(https://docs.python.org/3/library/ast.html#ast.AST),它是AST节点树的顶部。你知道吗
ast.parse(file)
您可能有兴趣浏览black(https://github.com/psf/black)的源代码,这是一个Python代码格式化程序,它使用ast来验证格式化的代码是否与最初运行的代码具有完全相同的行为。你知道吗
black
如果希望以与Python本身解析文件完全相同的方式保留这种结构,那么应该使用标准库
ast
模块(https://docs.python.org/3/library/ast.html)。AST的意思是“抽象语法树”:Python理解的代码表示。你知道吗基本的使用模式是对要解析的文件调用
ast.parse(file)
(https://docs.python.org/3/library/ast.html#ast.parse)。您将得到一个对象(https://docs.python.org/3/library/ast.html#ast.AST),它是AST节点树的顶部。你知道吗您可能有兴趣浏览
black
(https://github.com/psf/black)的源代码,这是一个Python代码格式化程序,它使用ast
来验证格式化的代码是否与最初运行的代码具有完全相同的行为。你知道吗相关问题 更多 >
编程相关推荐