tianjyan / py-qzone-photo

Python2: 获取QQ空间相册
Apache License 2.0
45 stars 13 forks source link

程序无法正常结束,好像有个bug #14

Closed kylewuwu closed 7 years ago

kylewuwu commented 7 years ago

2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,859 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,859 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,862 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,862 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,864 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,864 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,865 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,865 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,865 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,867 - INFO - 所有进程已经结束。

下载完成后,长时间显示 上面的信息,需要 ctrl + Z 来结束程序

tianjyan commented 7 years ago

很奇怪哎,应该第一次显示这个就break掉了

kylewuwu commented 7 years ago

@youngytj 你好,想请教一下,通过循环的方式,我下载完一个好友的相册,再下载另外一个好友的相册,要怎么处理 ?

tianjyan commented 7 years ago

把你要下的qq号码放在一个list里面,然后遍历调用qz.savephotos(qq)就行了

kylewuwu commented 7 years ago

@youngytj 我是想下载完一个再输入一个QQ 号,再继续下载, 程序下载完一个后就一直显示

2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,858 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,859 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,859 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。 2017-05-29 01:40:12,861 - INFO - 所有进程已经结束。

tianjyan commented 7 years ago

你是做了什么改动吗

kylewuwu commented 7 years ago

我只是加了一个 输入 要 下载图片的好友 QQ
common.set_queue(Queue.Queue()) common.set_main_thread_pending(False) worker_count = 2 worker_list = [] while worker_count > 0: worker = Worker(logger) worker.setDaemon(False) worker.start() worker_count -= 1 worker_list.append(worker)

''' while true: hostuin = input(u"请输入好友QQ号码:\n").strip() if hostuin == 0: exit; elif hostuin == None: hostuin = input(u"请输入好友QQ号码:\n").strip() qz.savephotos(hostuin) else: qz.savephotos(hostuin) continue

''' hostuin = input(u'请输入好友QQ号码:\n').strip()
qz.savephotos(hostuin) logger.info(u'主程已经将所有任务放到队列中') common.set_main_thread_pending(True) done = True while done:
for worker in worker_list: if worker.isAlive(): done = False break if done == False: print(done) logger.info(u'所有进程已经结束。AA') break exit

tianjyan commented 7 years ago

用这个Branch试一下,https://github.com/youngytj/Qzone_Photo/tree/persist_input

kylewuwu commented 7 years ago

还有 这两个 错误 : 错误1 : Traceback (most recent call last): File "F:\QQphotos\Qzone_Photo-persist_input\worker__init__.py", line 38, in run action(*arg)

错误2: folder = cls.getsavepath(number, index, fixname) File "F:\QQphotos\Qzone_Photo-persist_input\qphoto__init__.py", line 203, in getsavepath os.mkdir(qqpath) WindowsError: [Error 183] : u'F:\QQphotos\Qzone_Photo-persist_input\qzonephoto\1839436688 '

tianjyan commented 7 years ago

没有复现出来,第一个是入参不对,第二个是无法创建文件夹。你又做什么改动了么?

kylewuwu commented 7 years ago

没有改动,直接就用的是https://github.com/youngytj/Qzone_Photo/tree/persist_input 这个版本的。

我是在 Windows 7 cmd 下面运行的,是不是 和 cmd 的字符集 有关系啊

tianjyan commented 7 years ago

方便的话截图一张错误给我

kylewuwu commented 7 years ago

不好意思,直接上传不成功,下面这个链接就是的 http://a3.qpic.cn/psb?/V14X7hpO0cUBcs/zN7*2jcr9nyD25GQeuzzkaRchibsgQeKp8lbi6XRXSE!/b/dG0BAAAAAAAA&bo=5gIBAQAAAAADB8Y!&rf=viewer_4

tianjyan commented 7 years ago

描述下你完整的拉代码运行的过程吧,看不出代码有啥错

kylewuwu commented 7 years ago

直接下载解压的,这个很可能是 cmd 字符集 的原因引起的,我到时找个 liunx 环境试试

tianjyan commented 7 years ago

你保存的路径多了个\分隔符

kylewuwu commented 7 years ago

这个是在 CMD 下面 Python 自动 加的转义 字符 吧

tianjyan commented 7 years ago

但是我在Windows环境下测试时OK的

kylewuwu commented 7 years ago

请问你这边用的CMD 的字符集 是哪个呢 就是 CMD 属性 》 选项 》 当前代码页 里面的值 是多少

tianjyan commented 7 years ago

默认的,从来没改过。 image

tianjyan commented 7 years ago

能到这里反馈吗?一个comment一个comment太慢了。https://gitter.im/tianjyan/Lobby

kylewuwu commented 7 years ago

可能是 CMD 的版本不一样,我的是 Win7 的

tianjyan commented 7 years ago

关闭这个问题,因为是用户自行修改的代码的问题。