V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ClericPy  ›  全部回复第 104 页 / 共 133 页
回复总数  2641
1 ... 100  101  102  103  104  105  106  107  108  109 ... 133  
2019-10-26 18:58:33 +08:00
回复了 sunmker 创建的主题 Python 请问如何判断多个关键词是否都不存在于指定的字符串中
考虑性能就是 AC 自动机
考虑原生就是正则表达式里的零宽断言
2019-10-26 18:26:31 +08:00
回复了 qazwsxkevin 创建的主题 Python multiprocessing 的进程池,能否做到监控一些状态?
ProcessPoolExecutor 可以看做一个进程池执行器, 朝里面提交函数和参数以后, 会返回一个 Future, 这时候任务就开始执行了, 所以常见的用法就是:
1. 新建一个进程池执行器, 设置好并发数 pool = ProcessPoolExecutor(5)
2. futures = [pool.submit(func, var[0], var[1]) for var in var_list]
这时候任务都在后台派出的线程执行中
3. 然后就该等待任务完成了, 如果想要按执行结束的顺序来处理, 就
from concurrent.futures import as_completed
for future in as_completed(futures):
result = future.result(timeout=None)
如果无所谓完成顺序, 但是在意任务匹配顺序, 就
for future in futures:
result = future.result(timeout=None)
这里 timeout 可以配置成一个 float, 然后 try catch 住 timeouterror, 不过不确定多进程会不会杀死超时任务, 因为平时我大都用线程, 线程是肯定杀不死的...

如上, 并发的好处就体现出来了, 也就是说, 在没达到并发限制的情况下, 整个任务理论上完成耗时不会超过最慢任务的耗时, 虽然实际上会受并发限制和 CPU 数量影响
@qazwsxkevin
2019-10-26 16:42:12 +08:00
回复了 CSGO 创建的主题 分享发现 没人关注“一刻相册”APP 吗?
这个, 自从上次说过 XX 人不需要隐私, 以后... 我感觉自己不需要拍照...
2019-10-26 16:29:05 +08:00
回复了 isukkaw 创建的主题 程序员 BootCDN Down Again
昨天脑子坏了用了这个 cdn... 赶紧换到 staticfile 上去了...

PS: 我看着怎么没挂呢
@qazwsxkevin with 上下文用法其实就是对一个包含 __enter__ 和 __exit__ 魔术方法的对象的一种语法糖, 也就是不管是否报错, 都会在代码块结束时候执行 exit 那部分. 找个靠谱点的教程吧, 或者单独搜搜 python with 的用法

cdp 全称好像是 chrome devtools protocol, 是一套与 chrome debug remote 启动模式的交流协议, 包含 http 和 WebSocket 两部分, 而 chrome devtools 说白了, 可以简单理解成 chrome 浏览器按 F12 后底部出现的那个 devtools, 也就是和它交互用到的协议

稍微理解的话, 可以点我头像的 github 里面有个 ichrome 项目, 通过 pip 可以安装上, 如果对协程不了解, 可以先用同步的那个版本, 看 example 的代码就知道了, open link 好像用的是 set_url 函数, 点击用的是 click 函数, 不过只支持 css 选择器
鉴于 cdp 的 DOM 操作很多坑 (那个 pyppeteer 作者也这么说的), 所以还是使用注入 js 的方式来操作浏览器比较省事.
同步和异步的 ichrome 调用方式里, chrome daemon 那个类使用 with 的方式是可以自动关闭进程的, 多个实例就是多个端口(需要区分端口)的进程

说多了也没用, 直接体验吧, 前两天刚开了博客, 还没开始写操作 chrome 的博文, 估计得等一两周才会写...
不过最简单的除了 atexit 和 with 外, 还是把任务写成 class, 在 __del__ 里面做处理, 这样每次回收内存就会杀死对应进程, 与你标题的要求比较贴近
说的都真麻烦, 以前我也写过操作 Chrome 的库, 用的方式无外乎三个
1. 用 with 包起来, exit 的时候清理进程
2. 使用 weakref, 弱引用可以用 set 也可以用 dict, 自己选择, 维护一个 instance pool, 然后每隔一段时间扫一下不存在的, 做清理.
3. 注册到 atexit 里面去

你这是 Windows 上操作啊... 杀进程跨平台最好用还是 psutil, 不过看你只会用 Requests-html... 就不聊 cdp 方面的东西了
2019-10-26 01:20:43 +08:00
回复了 Colorful 创建的主题 问与答 关于 Python 的几个问题
三个内置库的用法, 一搜教程一大把
sqlite3
json
csv
pickle

从上往下
2019-10-25 23:08:57 +08:00
回复了 won 创建的主题 问与答 密码为什么通常是 6 位
因为生日
2019-10-25 16:52:23 +08:00
回复了 0clickjacking0 创建的主题 Python 关于 python3 导入包的问题
@ungrown stackoverflow 一搜一大片啊... 我以前在上面看的, 现在去找有点麻烦, 随手搜了个
https://zhuanlan.zhihu.com/p/76974787
也就是 pyinstaller 里为什么要给你个 exclude 参数, 因为好多库你不想要啊~
2019-10-25 16:50:58 +08:00
回复了 wallenorepeat 创建的主题 Linux 有关 Python 获取命令行参数中单引号的问题
@wallenorepeat 其实说白了, python xxx.py a b c 这种命令是在 shell 上执行的, 当然得按照对方要求了, 不然你非要单引号, 那就在程序里用 input, 不过看你是不想和程序交互, 这招不好使. 稍微了解一下 shell 吧, 单引号和双引号还有不同, 很多好用但是反直觉的操作
@maomaomao001 我也想知道啊...
现在那些快应用什么的我都不想用, Windows 上的 app store 也不想开启, 味道都变了. 这帖子这么火, 应该会有好看的答案出现
2019-10-25 16:36:17 +08:00
回复了 0clickjacking0 创建的主题 Python 关于 python3 导入包的问题
@ungrown 你说的啥? 我怎么没看懂...
点进来以前我还以为是上次那个派私活抓 hotels.com 全站那个人... 这种数据可以看看有没有卖的, 然后看看他们从哪搞的
2019-10-25 16:25:05 +08:00
回复了 siven73333 创建的主题 奇思妙想 V2EX 为什么不添加一个私聊的功能呢???
就跟不允许发过的帖子自己删除 /修改一样, by design~
感觉这样挺好的, 平时在群里也不喜欢和人私聊, 有什么问题大群里问就好了, 只要不是废话 /灌水, 没谁会制止你
2019-10-25 16:22:20 +08:00
回复了 wallenorepeat 创建的主题 Linux 有关 Python 获取命令行参数中单引号的问题
@wallenorepeat 必须这样写, 不然 bash 就报错了, 只能靠 backslash 来转义, 如果你想找类似 `` 这种原始字符串符号的话, 据我所知没有

点进来之前我以为你也遇到 shlex.split 时候遇到 curl 里 data-binary 参数带 \' 的那个坑了呢...直接报错 unclosed quote, 坑我一夜
500 以内没的选
ikbc W200
青轴红轴各一
续航久干扰低没有线, 这价位不买它那就买二手或者国产轴吧

PS: 有线无线两种体验
2019-10-25 16:15:54 +08:00
回复了 JCZ2MkKb5S8ZX9pq 创建的主题 Python 有没有方法写一个函数,能打印出传入变量的名称?
稍微看了眼评论... 为啥不用 PySnooper 呢?

以及 Python3.8 尽量别升, 旧项目很多不向后兼容的 deprecated issue, 需要升级依赖的库, 比如 abc 相关的 lxml 和
aiohttp. 如果是 Windows, 那 pip 的时候缺少 whl, 所以要本地编译, 很蛋疼. 如果开了 Travis CI 和 github 的 workflow 做测试, 直接报错 3.8 环境无法安装, 缺少安装源
1 ... 100  101  102  103  104  105  106  107  108  109 ... 133  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2301 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 38ms · UTC 02:18 · PVG 10:18 · LAX 19:18 · JFK 22:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.