Python 板


LINE

之前使用 urllib,曾因不明原因导致程式停住 没有丢出 exception 且错误难以重现 因此这次想改以 twisted 抓取网页 实际用下去後才发现 twisted 的 reactor 无法在重新启动後停止 导致无法把 twisted 包得像 urllib 一样 测试程式如下: from twisted.web.client import getPage from twisted.internet import reactor def success(data): print '-------- downloading success --------' print data[0:50] reactor.stop() def failed(data): print '-------- downloading failed --------' print data reactor.stop() def download(url): d = getPage(url) d.addCallback(success) d.addErrback(failed) print '-------- start downloading --------' reactor.run() for i in range(10): download('http://www.google.com.tw') 由於 reactor 不能 run 两次导致这样写无法成功 该怎样使用 reactor 才对呢? --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.70.102
1F:推 StubbornLin:不能,reactor一但停了就不能再run了 01/11 18:55
2F:→ StubbornLin:我记得看见某处是这样写,忘了在哪 01/11 18:55
3F:→ StubbornLin:你可以考虑开一个thread来run reactor 01/11 18:55
4F:→ StubbornLin:reactor不一定要在main thread里 01/11 18:56
5F:→ StubbornLin:不过为什麽要弄成同步的? twisted长处本来就是非同步 01/11 18:56
6F:推 StubbornLin:http://0rz.tw/e250z 我有写一篇可以参考看看 01/11 18:59
7F:→ StubbornLin:还有如果需要blocking的呼叫 可以参考这里 01/11 19:00
8F:→ StubbornLin:http://0rz.tw/RM3yU 的blockingCallFromThread 01/11 19:00
9F:→ os653:其实之前就是参考您的文章才知道 twisted 这个东西的 XD 01/11 19:32
10F:→ os653:不开 thread 第一是以前写过的经验,一旦出错实在不好侦错, 01/11 19:34
11F:→ os653:我对 python 的 thread 不够熟。第二是我希望能将程式写成 01/11 19:36
12F:→ os653:wxPython 能用的函式库,wxPython 我也不熟,两个不熟的东西 01/11 19:37
13F:→ os653:凑在一起出错的机会太大,所以想尽量把问题简单化。如果真的 01/11 19:38
14F:→ os653:没办法就开 thread 罗 01/11 19:39
15F:→ kenzou:只能用thread了。 01/11 23:13
16F:推 StubbornLin:喔 那就太简单啦 wxPython和twisted可以整合 01/11 23:29
17F:→ StubbornLin:请看这篇 http://0rz.tw/1KD4T 01/11 23:30
18F:→ StubbornLin:因为反正都是事件驱动 wxPython的even-driven 01/11 23:31
19F:→ StubbornLin:背後的核心可以用twisted来跑 而且已经帮你写好好的 01/11 23:31
20F:→ StubbornLin:一两行就打死 双剑合并 天下无敌 XD 01/11 23:32
21F:→ StubbornLin:http://0rz.tw/BfqR1 我的这程式就是用 01/11 23:33
22F:→ StubbornLin:wxPython+twisted 还有另外很多视窗网路程式也是 01/11 23:33
23F:→ StubbornLin:所以你大可放心直接使用就可以了 01/11 23:34
24F:→ os653:没想到官网就有正解,刚刚修改 demo 已经可以达到目标了,感 01/12 00:20
25F:→ os653:谢各位帮助。另外请教一下,当使用 library 的时候,都需要 01/12 00:21
26F:→ os653:从头到尾把 document 看完吗?以这次为例,我只看了 http 的 01/12 00:22
27F:→ os653:部分就下去写了。这种习惯是不是很糟糕阿 ... 01/12 00:26
28F:推 StubbornLin:我的建议是扫一次,不用逐字读 大略扫过去 01/12 02:04
29F:→ StubbornLin:看有什麽可用的东西 再来写比较不容易重写它已有的 01/12 02:04
30F:→ StubbornLin:基本上 twisted强大和丰富完备的程度绝对超过你想像 01/12 02:05
31F:→ StubbornLin:所以通常你会需要的他都有了 01/12 02:05







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP