V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  skinny  ›  全部回复第 30 页 / 共 31 页
回复总数  620
1 ... 22  23  24  25  26  27  28  29  30  31  
@wwqgtxx 你都读入模块源代码拼接了 import 语句了,还不如写个脚本一次性处理下那些脚本。说真的,按描述看,楼主那些插件代码一塌糊涂,得重写才能避免那些问题。
@wwqgtxx 确实没办法。实际上我也没有找到 Python 模块注入 100%可行的办法,确切的说没有找到正常的在 import 前设置符号表的方法。如果他的插件模块在模块域就使用了未导入的模块名字,那目前我没有找到办法,如果是在类或函数时还好,批量导入时对那个模块设置下模块名字就好了。

伪代码:
def walk_modules(path):
.... ....
.... mod = import_module(path)
.... mod.sys = sys # or import_module('sys')
.... ....

如果不愿意重构,就写个脚本批量处理下那些插件代码呗。
@akmonde
主要的流程很简单:
一,是从特定模块路径递归导入模块,并将返回导入的模块列表。walk_modules 就使用了 importlib.import_module 来导入,和 pkgutil.iter_modules 来搜索子模块(自 Python 3.3 开始直接基于 importlib 实现的),没别的复杂设计。
二,就是从一导入的模块列表里寻找特定类,比如找到特定类的子类什么的,这个你可以自己决定怎么写(比如检测模块中有某个名字的方法)。

建议 plugin 的基类和 plugin 实现之类的放在不同目录,避免使用如上方法自动搜索和导入的时候出现重复操作。

这个和你已经加载的插件并不冲突,不过你可以在流程一或二阶段跳过已经加载的模块(注册下已加载的模块名字呗)。
pkgutil + importlib

具体使用可以参考 scrapy 的以下两个模块:
walk_modules https://github.com/scrapy/scrapy/blob/master/scrapy/utils/misc.py
iter_spider_classes https://github.com/scrapy/scrapy/blob/master/scrapy/utils/spider.py
2018-08-19 15:28:38 +08:00
回复了 rabbbit 创建的主题 JavaScript [老生长谈]js 加法的规则总结
我非常好奇为什么要问这些奇葩问题,如果没有编程约定,为什么不检查类型,或者转成字符串再拼接,一定要一股脑把不相同的东西用加号处理吗?
2018-08-10 16:27:01 +08:00
回复了 javaCoder 创建的主题 程序员 TCP 粘包问题浅析及其解决方案
我猜有人会说我群嘲地图炮,然而我真的只在中文社区里看到过中国人说“粘包”这个词。
2018-08-10 16:24:34 +08:00
回复了 javaCoder 创建的主题 程序员 TCP 粘包问题浅析及其解决方案
@qk3z 然而你“粘”的这段话来自一个有“包”的中国人写的……
2018-08-07 14:25:05 +08:00
回复了 59php 创建的主题 程序员 带各种新人的时候怎么解决让他们自己 GG 反而被喷的现象?
之前不就有个帖子说楼主这种是在搞技术壁垒 [doge]
我想说的是敢上国内云的都勇气可嘉。你看看,光舆论水军就让你没办法维权。

“什么?”、“你是受害者?”、“你哭诉个 JB !”、“法庭见(几年后见)!”、“怕不是敲诈勒索!”

完全把问题焦点和服务承诺给转到九霄云外去了。跟之前热点新闻评论里的“女生被强奸是自己活该 blabla ”如出一辙。
2018-08-05 08:21:05 +08:00
回复了 FanDuCai 创建的主题 程序员 关于电费的问题
楼主试试能不能多装一块表吧,不过我猜不大可能。
2018-08-05 08:19:47 +08:00
回复了 FanDuCai 创建的主题 程序员 关于电费的问题
@aliehuhu 对,阶梯计费,用的越多越贵,而且基础用电度设得低,基本上每个月都是用的高价电。
@lihongjie0209 确实如此,特别是复杂一点的类型还要写一坨代码,唯一有点用的地方是对 IDE 解析友好,代码提示更清晰准确。如果真的非常追求静态类型检查,真的不必用这种方法,换一种语言更好,比如 C#。
呃,楼里不少人该看看书更新更新脑子了。
在十几年前我搜索网络编程相关的文章,就被 CSDN 上的文章和帖子里的“粘包”这个民科概念误导过一阵子。

那个时候刚刚接触电脑,又没有读过网络编程相关的书,编程时既想要 UDP 的效果,又想要 TCP 的可靠,还想“简单”,同时明明知道先发送个数据长度或数据类型,亦或是使用分隔符就可以解决的问题,却不知道为什么就是不愿意这么做,然后就搜索相关解决办法看看别人怎么做的,然后就不幸看到“粘包”这个愚蠢的说法,还被误导了一阵子。

现在都 8102 年了,怎么现在还有人用这个民科概念,楼主该看看书更新更新脑子啦!
2018-07-22 09:20:32 +08:00
回复了 bestehen 创建的主题 Node.js js 加密 运行报错
你应该好好学英语。
@liliang13 现在查的可严了,标题描述啥的些微不符都算违规
@liliang13 那也是虚假违规商品
我真的无语,我的笔记本不能用官方的模拟器,现在都用的真机,还没有在这个电脑上用过 genymotion。
2018-06-22 13:22:13 +08:00
回复了 skinny 创建的主题 程序员 准备写一个 Electron 应用,被前端的工作流和工具绕晕了
@hyyou2010 谢谢。
1 ... 22  23  24  25  26  27  28  29  30  31  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5377 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 03:35 · PVG 11:35 · LAX 19:35 · JFK 22:35
Developed with CodeLauncher
♥ Do have faith in what you're doing.