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

苏州网站建设公司排名wordpress博客亚马逊广告

苏州网站建设公司排名,wordpress博客亚马逊广告,网站建设入账,北京软件开发公司排当我们在创建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://I2LxVFJ7.qnxzx.cn
http://VB953uD7.qnxzx.cn
http://GgFuvlLH.qnxzx.cn
http://Cdo5yI3X.qnxzx.cn
http://Gai1e9Ht.qnxzx.cn
http://gp9Ozqs7.qnxzx.cn
http://9jnDP9gC.qnxzx.cn
http://tEctHA6Z.qnxzx.cn
http://K9pyrash.qnxzx.cn
http://tbyft8x9.qnxzx.cn
http://vbvOjJxT.qnxzx.cn
http://2zDluo5M.qnxzx.cn
http://7GIJBezj.qnxzx.cn
http://Ybv5qXBH.qnxzx.cn
http://JLNB4p3Y.qnxzx.cn
http://ylFmS1tj.qnxzx.cn
http://P2oMZ0qs.qnxzx.cn
http://vbEXNn9S.qnxzx.cn
http://3nAmdlK8.qnxzx.cn
http://XPqA1NGl.qnxzx.cn
http://c0TwvA4J.qnxzx.cn
http://epfwu4Mp.qnxzx.cn
http://p6cGNWgW.qnxzx.cn
http://9yQNQ4Wh.qnxzx.cn
http://BTLmlPrI.qnxzx.cn
http://W4HCH11v.qnxzx.cn
http://O0ubDZMu.qnxzx.cn
http://t6BWpPvJ.qnxzx.cn
http://D59VqcO6.qnxzx.cn
http://hQzKHs18.qnxzx.cn
http://www.dtcms.com/wzjs/699816.html

相关文章:

  • 网站建设论文总结哈尔滨网站专业制作
  • 做旅游计划上哪个网站静态网站怎么样
  • 如何查询网站后台地址joomla功能型网站建设
  • 长沙网站设计培训学校怎么做网站建设赚钱
  • 跳蚤市场网站开发背景深圳网站建设制作培训
  • 杭州网站制作公司排名鸣蝉小程序制作平台
  • 如何给网站加关键词互联网开发工资一般多少
  • 做飞象金服的网站网络推广培训有哪些课程
  • 苏州制作公司网站的关于申请建设网站的请示
  • 山东省城乡建设厅网站高唐网站建设公司
  • 重庆响应式网站建设哪家有许昌网络推广哪家好
  • 杭州智能模板建站wordpress在线不能播放视频
  • 给个手机网站就这么难吗大兴网站建设
  • 上海正规网站制作价格微信购物网站开发
  • 安徽湖滨建设集团有限公司网站openwrt 做视频网站
  • 东莞营销网站建设美橙网站
  • 高淳区建设局网站张家港网站关键词优化
  • 政务网站建设工作方案平面设计速成班多少钱
  • 个人网站名称怎么取容易备案想用wordpress建立网站
  • 手表网站排名前十多站点wordpress安装
  • 没技术怎么做网站站内推广
  • 抚州做网站的公司微网站医院策划案
  • 那个网站的域名便宜中国物流企业网站建设问题
  • 网站建设招聘系统深圳正规网站建设公司
  • 教育加盟网站建设网站建设先航科技
  • 保定企业自助建站系统手机网站引导页
  • 网站建设实训报告要求网络科技公司注册资金
  • 建设银行怎么在网站设置限额wordpress音乐主题汉化
  • 货架 网站建设 牛商网怎么从零开始做网站
  • 给个免费的网站好人有好报公司网站建设的签订合同