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

推广型网站如何建站网络营销和网络推广有什么区别

推广型网站如何建站,网络营销和网络推广有什么区别,网页设计作业5000字,成都 网站制作导航目录 目录结构要替换的代码替换代码的逻辑新建类#xff0c;继承 ast运行新建的类最最重要的一步replace_code.py 完整代码 main.py 里面的代码执行结果 最后 目录结构 . ├── hello │ ├── __init__.py │ └── utils.py ├── main.py ├── replace_code… 导航目录 目录结构要替换的代码替换代码的逻辑新建类继承 ast运行新建的类最最重要的一步replace_code.py 完整代码 main.py 里面的代码执行结果 最后 目录结构 . ├── hello │ ├── __init__.py │ └── utils.py ├── main.py ├── replace_code.py要替换的代码 代码在文件 utils.py 里面 def sum(a: int, b: int) - int:c a - breturn c替换代码的逻辑 替换代码逻辑在文件 replace_code.py 里 新建类继承 ast 逻辑很简单找到哪一行并替换就是中间的判断可能比较多 import ast class MyTransformer(ast.NodeTransformer):def visit(self, node: ast.AST):# 我们要找到要替换的那一行(c a - b)代码在哪里for nodei, v in enumerate(node.body):if isinstance(v, ast.FunctionDef):for i, vv in enumerate(v.body):if isinstance(vv, ast.Assign) and \isinstance(vv.value, ast.BinOp) and \isinstance(vv.value.left, ast.Name) and \vv.value.left.id a and vv.value.right.id b and isinstance(vv.value.op, ast.Sub):# 找到了那一行代码# 找到后把新的代码通过 ast.parse 转换成语法树并替换掉原来的代码v.body[i] ast.parse(c a b).body[0]node.body[nodei] vreturn node运行新建的类 from hello import utils import inspect # 获取代码内容 method_code inspect.getsource(utils.sum) print(f----sum code begin\n {method_code} \n -----sum code end ----) # 把要替换的代码转换成语法树 method_ast ast.parse(method_code) trans_instance MyTransformer() # 运行新建的类的里面的逻辑 transformed_ast trans_instance.visit(method_ast) # 把语法树解析成语法代码 transformed_code ast.unparse(transformed_ast) print(--- transformed code:, transformed_code)最最重要的一步 一定要把代码在它所在的命名空间里执行它 exec(transformed_code, utils.__dict__)replace_code.py 完整代码 import ast class MyTransformer(ast.NodeTransformer):def visit(self, node: ast.AST):for nodei, v in enumerate(node.body):if isinstance(v, ast.FunctionDef):for i, vv in enumerate(v.body):if isinstance(vv, ast.Assign) and \isinstance(vv.value, ast.BinOp) and \isinstance(vv.value.left, ast.Name) and \vv.value.left.id a and vv.value.right.id b and isinstance(vv.value.op, ast.Sub):print(here)v.body[i] ast.parse(c a b).body[0]node.body[nodei] vreturn node from hello import utils import inspect method_code inspect.getsource(utils.sum) print(f----sum code begin\n {method_code} \n -----sum code end ----) method_ast ast.parse(method_code) trans_instance MyTransformer() transformed_ast trans_instance.visit(method_ast) transformed_code ast.unparse(transformed_ast) print(--- transformed code:, transformed_code) exec(transformed_code, utils.__dict__)main.py 里面的代码 导入的顺序一定不要错了不然也不会生效的 # 引入的顺序一定不要错了不然也不会生效的 import replace_code from hello.utils import sum if __name__ __main__:print(sum(2,1))执行结果 ----sum code begindef sum(a: int, b: int) - int:c a - breturn c-----sum code end ------- transformed code: def sum(a: int, b: int) - int:c a breturn c 3 # 这是执行后的结果最后 逻辑代码不一定要在 visit() 里面写如果你要修改的是 for 循环里面的代码 你可以重写 visit_For()方法 在里面来实现自己的逻辑
http://www.pierceye.com/news/399068/

相关文章:

  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化
  • 个人网站建设研究意义朔州seo网站建设
  • 怎样进入网站的后台视频网站建设方案书
  • 家具网站开发报告北斗导航2022最新版手机版
  • 好看的食品网站app图片怎么制作
  • 杭州做外贸网站wordpress给用户发送邮件
  • 政务服务 网站 建设方案软件外包平台哪家好
  • 上海千途网站建设网站建设 中企动力长沙
  • 网站建设产品介绍烟台定制网站建设电话
  • 公司内部网站设计客户关系管理策略
  • 个人开发网站要多少钱梅州市城乡建设局网站
  • 外贸公司网站案例建设银行报考网站
  • 网站设计建设步骤做暖网站
  • dw如何做网站界面全网推广外包公司
  • 企业网站数据库建设菠菜网站
  • 网站功能优化的方法营销型网站建设集装箱液袋
  • 建设资讯网站厦门网站建设哪家强
  • 惠阳网站设计开发图片做多的网站是哪个
  • 医院网站建设公司价格低本地网站搭建视频教程
  • 黑客攻击的网站网站开发需要多少钱app