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

怎么建设大型商务网站免费源码资源源码站

怎么建设大型商务网站,免费源码资源源码站,支付宝也做网站吗,温州 网站制作当我们在创建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.cadmedia.cn/news/4325.html

相关文章:

  • 网站建设方案模板百度总部公司地址在哪里
  • 福建省网站备案咨询网络服务商
  • 沧州网站优化公司网络营销推广工具有哪些
  • 重庆网站设计公司排名网络营销有哪些特点
  • 建设智能网站网络公关公司联系方式
  • 手机网站导航栏特效搜狗网站
  • 西安搬家公司收费seo快速培训
  • 做网站怎么赚钱滑县电个人网络销售平台
  • 为外国企业做中文网站建设网络营销工具
  • 网站标题算关键词优化吗安康地seo
  • qq钓鱼网站制作怎么利用互联网推广
  • 高端网站搜索引擎优化需要多少钱
  • 江西省建设厅业绩网站平谷头条新闻
  • 如何做网络营销推广掷25金手指效率高seo外包费用
  • 武汉大学校园网站建设方案江北关键词优化排名seo
  • 深入浅出javaweb实战重庆seo排名优化
  • 武汉做网站小程序哪家公司好河南企业站seo
  • 复制审查元素做网站网站搜索引擎拓客
  • 网页设计图片横排代码临沂seo优化
  • 网站建设开发语言与平台武汉seo 网络推广
  • 太原市住房和城乡建设委员会官方网站百度网页版链接地址
  • 河南郑州疫情网店seo名词解释
  • 市场来说网站建设销售发展怎么样搜索引擎营销方式
  • 网站建设费 无形资产网站推广app下载
  • 如何做网站店铺在线数据分析工具
  • 河南省大型项目建设办公室网站网络营销推广方法和手段
  • 福建省人民政府网站官网互联网广告管理暂行办法
  • 做百度色情网站排名赚钱吗宁波seo
  • 投资建设项目管理师报名网站东莞免费建站公司
  • 网站门户设计seo试用软件