Python变量';模块/类之间的s

Python变量';模块/类之间的s,python,class,variables,Python,Class,Variables,SiteGrab.py class ThreadManager: bla bla bla bla While True: #### Ask if/unitl all sites are resolved if allsites got = True: for i in range(allsites): HTML[i].insert(0, "this is a peice of text")

SiteGrab.py

class ThreadManager:
    bla bla bla bla

    While True: #### Ask if/unitl all sites are resolved
        if allsites got = True:
            for i in range(allsites):
                HTML[i].insert(0, "this is a peice of text")
                break


    def GetDNS(self):
        global HTML
        return(HTML)
from SiteGrab import *

    manager = ThreadManager()
    manager.start(bla, bla, bla)
    _HTML_ = manager.GetDNS()
    print(_HTML_)
execute.py

class ThreadManager:
    bla bla bla bla

    While True: #### Ask if/unitl all sites are resolved
        if allsites got = True:
            for i in range(allsites):
                HTML[i].insert(0, "this is a peice of text")
                break


    def GetDNS(self):
        global HTML
        return(HTML)
from SiteGrab import *

    manager = ThreadManager()
    manager.start(bla, bla, bla)
    _HTML_ = manager.GetDNS()
    print(_HTML_)
我正在尝试加载一个html网站列表。我在线程中做这件事(例如5个网站=5个线程)。 我想在每个网站都完成后得到通知。换句话说,如果5个网站中的一个要超时,我不想在得到其他4个结果之前等待超时。我希望他们在结束时慢慢加入

这就是我被困的地方。我有一个GrabSite.py模块,它将结果发送到主服务器 模块。但是主模块必须询问结果

_HTML_ = manager.GetHTML()
print(_HTML_)
。。。只有在……之后才能这样做

manager.start(bla,bla,bla).
已完成。但是
manager.start(bla,bla,bla)
只有在解决最后一个站点后才能完成

如何更改此选项,使结果逐渐进入execute.py

谢谢你的帮助

我想在每个网站都完成后得到通知

是谁干的?怎么用?这毫无意义。你想让它在完成后变成“必应”吗?将其添加到脚本中

我希望他们在结束时慢慢加入

流入哪里?档案?目录

execute.py
对这些站点有什么作用

你的要求毫无意义

curl site1 >file1 & curl site2 >file2 & curl site3 >file3 & ...
所有五个同时运行。没有线程,只有使用尽可能多的操作系统资源的操作系统级进程。没有等待。结果是同时出现的

想想这个

( for site in site1 site2 site3 site4 site5
do
    curl $s | python execute.py &
done
)
echo "Bing!"

这将同时获得所有五个。每一个都将通过管道传输到标准输入中,以便使用simple
sys.stdin.read()

在单个线程中使用异步模型进行处理。TwistedFramework就是这样做的。您还可以使用它的CurlMulti处理程序。该模块使用它可以在一秒钟内完成1000个请求。

看看Python的“多处理”模块。它包含几个正确执行多处理的选项(如使用进程池)。可以配置任意回调,例如发送结果可用性的信号。

对于初学者,请发布至少通过编译器的代码(这在Python中并不太难)。另外,在类定义中执行实际工作一定是我很久以来看到的最奇怪的Python代码之一……好的,我想在每个站点完成后打印它。我想从execute.py打印它。。。不是从GrabSite.py。因此,两个模块之间的必要变量传输必须在每个站点完成时进行