如何运行睡眠功能的多个功能?

时间:2017-06-30 14:04:36

标签: python python-multithreading

我正在努力在线提取多个来源的天气数据,以下是我获取此数据的一些代码。

import wunderground as wg
import weatherScraper as wp

def main():
    wg.main()
    ws.main()

if (__name__ == "__main__"):
    main()

两个主要功能都包含睡眠功能。我想知道是否可以同时运行两个?目前它运行一个,具有激活睡眠功能,等等。

2 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。如果您不想为每个函数创建一个脚本,可以使用multiprocessing模块并使用Process对象。有一个简单的例子here,当然不使用全局变量。您也可以查看模块文档here

我认为你的代码是这样的:

import wunderground as wg
import weatherScraper as wp
from multiprocessing import Process

if (__name__ == "__main__"):
    p1 = Process(target = wg.main())
    p1.start()
    p2 = Process(target = ws.main())
    p2.start()

或者您可以在Symmetric Multiprocessing部分使用其他并行模块,例如列出的here

干杯。

答案 1 :(得分:1)

我会使用Python multiprocessing模块。

可能是这样的:

import wunderground as wg
import weatherScraper as wp
from multiprocessing import Process

f1 = wg.main
f2 = ws.main

p1 = Process(target=f1)
p2 = Process(target=f2)
p1.start()
p2.start()

请参阅Python: Executing multiple functions simultaneously