我正在尝试创建一个python脚本,允许我加载多个连接类似于在浏览器上打开多个标签,更明确地我有这样的代码:
https://github.com/eWizardII/SOC357-Twitter-Facebook-Project/blob/master/chuck.py
使用urlv等,我加载到API的多个连接,但是我想这样做,以便我同时调用所有5个而不是连续调用。我已经研究了扭曲和整洁的事情,但我不知道如何使用它们来帮助我。
谢谢, 所罗门
答案 0 :(得分:4)
使用shell。
#!/bin/bash
python chuck.py "request 1" &
python chuck.py "request 2" &
python chuck.py "request 3" &
python chuck.py "request 4" &
python chuck.py "request 5" &
这将运行5个程序副本。它将尽可能多地占用核心和CPU。而且 - 奖励 - 没有使用子进程或线程或任何东西的编程。
如果所有5个人都应该做某种不同的事情,那么你将不得不提供某种参数或选项。查看argparse
以获取收集命令行参数的方法。
答案 1 :(得分:1)
您可以创建HttpHandlers来处理异步http请求(就代码而言是异步的,而不是涉及实际的网络操作时)。
试试这个:
import urllib2
class MyHttpHandler(urllib2.HTTPHandler):
def http_response(self, request, response):
for l in response:
print l
return response
u = urllib2.build_opener(MyHttpHandler())
for i in range(1, 5):
u.open('http://stackoverflow.com')
答案 2 :(得分:0)
您可以使用threading库。这是最适合的事情之一。