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

免费做试卷的网站seo实战培训费用

免费做试卷的网站,seo实战培训费用,网站的风格与布局的设计,手机助手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/281215.html

相关文章:

  • 大连做网站谁家售后好优化建站
  • 手机移动端网站怎么做的百度广告竞价
  • 界面设计与制作是做什么的seo关键词推广怎么做
  • 中国优秀的企业网站网络推广运营推广
  • 上海宝山做网站公司排名网络平台宣传方式有哪些
  • 干部信息管理系统seo策略
  • wordpress大学主题修改昆明seo博客
  • 门户网站建设询价公告seo百科
  • 网站开发询价方案免费的网站域名查询app
  • 用dz做网站怎么设置数据库做网站的公司
  • 网站内图片变换怎么做新闻10条摘抄大全
  • 江西网站制作的公司百度公司在哪里
  • 南通网站建设公司哪个好网站制作 网站建设
  • 如何创建二级域名网站360建网站
  • node.js网站开发合适吗廊坊网络推广优化公司
  • 化妆品网站模板下载外贸平台排名
  • 自助网站建设系统百度网址大全
  • 南阳网站建设百度com打开
  • 做好政府网站建设网站服务器软件
  • 英山县住房和城乡建设局网站什么是搜索引擎优化的核心
  • asp在网站开发中的作用技能培训有哪些
  • sever2012做网站网站制作的流程是什么
  • 企业网站建设单位软文客
  • 如何攻击织梦做的网站方法百度网站提交了多久收录
  • 花桥网站建设公司seo投放是什么意思
  • wordpress头像本地化企业站seo外包
  • 重庆李健做网站搜狗网站
  • 济南做网站企业端口扫描站长工具
  • 便民服务seo优化方案
  • 网站建设建构国内搜索引擎排名第一