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

门户网站建设ppt方案如何开网站需要多少钱

门户网站建设ppt方案,如何开网站需要多少钱,营销型网站案例,免费网站建设图书下载遇到一个需求#xff0c;需要尽可能的尝试触发python模块里的行为#xff0c;比如函数#xff0c;类实例这样#xff0c;感觉和java里的反射有点像#xff1b;通过调研发现python里有getattr这个方法#xff0c;类似于java里的反射机制#xff0c;可以通过字符串比较方便…遇到一个需求需要尽可能的尝试触发python模块里的行为比如函数类实例这样感觉和java里的反射有点像通过调研发现python里有getattr这个方法类似于java里的反射机制可以通过字符串比较方便的获取到类里的成员函数。通过importlib导入模块然后通过inspect检查函数和类最后在通过getattr获取对应对象执行。pytimer和packadds是我自写的不影响整体功能的函数防止超时和解压文件。 PyWalker:根据路径动态导入py文件并尝试创建类实例和执行函数import sys import importlib import inspect import pytimer import packaddsclass PyWalker:动态的导入python模块并尝试触发其中的不同方法timer pytimer.PyTimer()packer packadds.PackProcessor()def __init__(self):初始化staticmethoddef read_module(module_path: str):读取py文件的路径尝试将其导入importlib的路径比较特殊如test/sample.py需要转化变为test.sampleif / in module_path:module_path module_path.replace(/, .)if \\ in module_path:module_path module_path.replace(\\, .)if module_path.endswith(.py):module_path module_path[:-3]module_imported importlib.import_module(module_path)return module_importedstaticmethoddef get_function_name(module_imported):获取模组里的所有函数名function_name_list []for member_name, _ in inspect.getmembers(module_imported, inspect.isfunction):function_name_list.append(member_name)print(函数, function_name_list)return function_name_liststaticmethoddef get_class_name(module_imported):获取模组里的所有类名class_name_list []for member_name, _ in inspect.getmembers(module_imported, inspect.isclass):class_name_list.append(member_name)print(类, class_name_list)return class_name_liststaticmethoddef eval_function(module_imported, function_name: str, *args):根据函数名动态调用函数module_function getattr(module_imported, function_name)function_return module_function(*args)return function_returnstaticmethoddef parse_module(module_path: str):解析模组获取函数名和类名然后尝试执行函数print(导入, module_path, 输出:)module_imported PyWalker.read_module(module_path)class_name_list PyWalker.get_class_name(module_imported)function_name_list PyWalker.get_function_name(module_imported)for each_class in class_name_list:PyWalker.timer.count_time(PyWalker.parse_class, module_imported, each_class)for each_function in function_name_list:PyWalker.timer.count_time(PyWalker.eval_function, module_imported, each_function)staticmethoddef parse_class(module_imported, each_class):解析类创建实例尝试执行函数module_class getattr(module_imported, each_class)function_name_list PyWalker.get_function_name(module_class)if function_name_list[0] __init__:# 因为已经创建过实例所以不再执行initfunction_name_list.pop(0)class_instance module_class()for each_function in function_name_list:PyWalker.eval_function(class_instance, each_function)if PyWalker.timer.get_errors():print(PyWalker.timer.get_errors())staticmethoddef parse_packet(packet_path: str):输入一个whl或zip包的路径尝试解压然后逐个导入运行if packet_path.endswith(.py):# 如果是py文件就不用解压了pyfile_list [packet_path]else:unzipped_dir PyWalker.packer.unzip_path(packet_path)pyfile_list PyWalker.packer.get_dir_files(unzipped_dir, .py)for each_pyfile in pyfile_list:try:PyWalker.parse_module(each_pyfile)except Exception as e:print(error:, each_pyfile, e)PyWalker.packer.delete_unzips()if __name__ __main__:file_path sys.argv[1]my_walker PyWalker()my_walker.parse_packet(file_path)
http://www.zqtcl.cn/news/11479/

相关文章:

  • 我公司是帮企业做网站的_现在要帮客户们的网站备案推广引流系统
  • 关键词 优化 网站沈阳seo博客
  • 推荐几个手机能看的网站快递网站建设代码
  • 教做糕点的视频网站网店代运营哪里有
  • wordpress页面查询数据嘉兴seo外包服务商
  • 平顶山网站网站建设陕西多地最新通知
  • 高端网站建设哪些好做wordpress 评论 设置
  • 织梦网站被黑wordpress 安卓教程
  • 巨野网站定制蓟县做网站公司
  • 网站建设质量管理定义wordpress 更新 500
  • 三合一网站一般多少钱如何做登录网站
  • phpcms 网站 关闭天津网站优化哪家好
  • 宁夏固原建设网站做电子画册的网站
  • 怎样注册公司网站建立网页电子商务网站建设课后题
  • 衡水网站设计怎么做网站建设初稿
  • 手机网站推广服务公司小程序怎么做的
  • 明星个人网站建设需求分析企业画册模板
  • 嘉兴h5建站价格低怎么说
  • 加强网站技术建设推文最好的网站是哪个
  • golang 网站开发 教程长治市网站开发
  • 大学生网站开发与设计实训报告免费素材网站设计
  • 休闲食品网站建设wordpress 对比 django
  • 企业网站建设中存在的问题分析wordpress需要账号
  • 渭南商铺网站建设templatepath wordpress
  • 网站建设基本概述学校教育网站模板
  • 网站建设的来源网站怎样做 文件签收
  • 阿里建站官网怎么在网上宣传自己的公司
  • 网页游戏排行榜4399南宁seo排名优化
  • 地方性门户网站有哪些wordpress nginx rewrite
  • wordpress搭建企业网站思路美橙表业手表网站