经过多次实践,终于解决了问题,但为什么会这样,不是很明白,还希望大家帮忙下。
估计我上面的问题描述一定也很难让大家找到问题所在。
这里我在详尽的描述下。
mycmd.py文件中,有如下代码:
class MyCmd(cmd.Cmd):
def test(self):
from lib.core.request import GetHtml
print GetHtml("http://www.baidu.com")
def do_start(self,arg):
from lib.core.ThreadPool import ThreadPool
#线程池
pool = ThreadPool(10)
for i in range(50):
pool.add_job(self.test)
pool.wait(10)
mycmd = MyCmd()
mycmd.cmdloop()
请注意:我在mycmd.py文件中的最后执行了
mycmd = MyCmd()
mycmd.cmdloop()
另外,在项目的入口文件index.py中将mycmd.py文件进行import
if __name__ == "__main__":
from mycmd import *
之前就是这样子执行的,然后就发现没法执行,一直卡在了GetHtml函数中的
req = urllib2.Request(url = url, data = postData)
解决办法:将mycmd.py文件中的
mycmd = MyCmd()
mycmd.cmdloop()
转移到index.py文件中:
if __name__ == "__main__":
from mycmd import *
mycmd = MyCmd()
mycmd.cmdloop()
这样就解决了问题。