当前位置: 首页 > wzjs >正文

苏州网站建设公司排名wordpress4.8

苏州网站建设公司排名,wordpress4.8,免费下载app,网站建设的业务流程图当我们在创建python项目,经常需要遍历和分析代码文件,特别是当我们想要自动化地获取某些信息,比如所有的函数和类名。Python的ast(Abstract Syntax Trees,抽象语法树)模块为我们提供了一个强大的工具,可以方…

        当我们在创建python项目,经常需要遍历和分析代码文件,特别是当我们想要自动化地获取某些信息,比如所有的函数和类名。Python的ast(Abstract Syntax Trees,抽象语法树)模块为我们提供了一个强大的工具,可以方便地解析Python源代码,并从中提取出我们需要的信息。

原理

        当我们将py文件路径传递给ast模块的parse函数后,ast会将其解析为抽象语法树,然后使用ast.walk方法遍历这棵树,查找函数定义(FunctionDef节点)和类定义(ClassDef节点)。

        每当我们遇到一个这样的节点时,就可以提取出对应的函数名或类名。这种方法不仅准确,而且比使用正则表达式等字符串处理方法更加可靠,因为它直接利用了Python的语法解析能力。此外,ast模块还可以帮助我们避免因为代码格式变化或注释等无关因素而导致的解析错误,因为它只关注语法结构,而不关心具体的代码风格或注释内容。

代码

ast是python内置库,因此我们不需要使用pip命令安装。

import ast
def extract_function_and_class_names(pyfile_path):with open(pyfile_path, 'r', encoding='utf-8') as f:source=f.read()try:tree=ast.parse(source, filename=pyfile_path)except SyntaxError:print(f"语法错误!")return []names=[]for node in ast.walk(tree):if isinstance(node, ast.FunctionDef):names.append(node.name)elif isinstance(node, ast.ClassDef):names.append(node.name)return names

运行结果:

        使用上述代码对WechatAuto.py运行后:

说明 

        特别的,如果你的项目内函数或类比较多,又需要使用__all__=['函数名','类名']来限制用户在使用以下方式:

from module import *

 导入你的模块后能够使用的函数或方法,那么你便可以先使用ast模块先将你的py脚本内的函数或类全部导出,然后再使用list comprehension将不需要的部分删除掉即可。

http://www.dtcms.com/wzjs/577387.html

相关文章:

  • 语音网站怎么做锦州网站建设案例
  • 模板网站如何建站抖音代运营公司排名前十强
  • 深圳建网站的专业公司郑州seo代理商
  • 佛山网站建设联系南宁网络公司
  • 花箱 东莞网站建设ps做游戏下载网站
  • 成都公司做网站多少钱做网站买什么服务器
  • 咨询型网站集团网站策划
  • 网站建设外包注意什么欧美风网站
  • godaddy做网站黑马程序员学费多少
  • jsp做网站的流程免费制作网页的软件有哪些
  • dede网站 设置404 错误页面广州建网站站公司
  • 网站域名备案流程网站 迁移
  • 成品电影网站建设国家建设标准发布网站在哪里
  • 网站备案完电信2020最成功的网络营销
  • 腾讯云做网站怎么样免费自助建站网站一览自助建网站
  • 可视方便建站微网站传统营销渠道有哪些
  • 外贸网站建设评价571免费建网站
  • 柯桥建设局网站百度快照 查看指定网站
  • 缩短链接的网站域名备案查询
  • 合肥能做网站的公司做网站电脑开一天用多少钱
  • 网站建设 应酷wordpress增加分页功能
  • 东昌网站建设公司wordpress企业主题免费
  • 网站排名查询软件游戏公司官方网站模版
  • div嵌套影响网站收录南昌污水厂最新数据
  • 天梯网站建设中国城乡建设结合部网站
  • 小公司怎样自己建网站wamp做的网站标签图标
  • 南阳网站制作算命网站怎么做
  • 网站怎么找响应式网站的好处
  • 美的网站建设电子工程王力卓
  • 长春做网站的汉子由来 外国人做的网站