Python请求包脚本错误

Python请求包脚本错误,python,Python,当我运行此脚本时,它出现了一个错误 我还应该提到我刚刚开始学习Python import requests import subprocess import json import sys import threading import time from Queue import Queue numberOfViewers = int(sys.argv[1]) builderThreads = int(sys.argv[2]) startTime = time.time() numberOf

当我运行此脚本时,它出现了一个错误 我还应该提到我刚刚开始学习Python

import requests
import subprocess
import json
import sys
import threading
import time
from Queue import Queue

numberOfViewers = int(sys.argv[1])
builderThreads = int(sys.argv[2])
startTime = time.time()
numberOfSockets = 0
concurrent = 25
urls = []
urlsUsed = []

def getURL(): # Get tokens
    output = subprocess.Popen(["livestreamer", "twitch.tv/ispazzcraft", "-j"], stdout=subprocess.PIPE).communicate()[0]
    return json.loads(output)['streams']['worst']['url'] # Parse json and return the URL parameter

def build(): # Builds a set of tokens, aka viewers
    global numberOfSockets
    global numberOfViewers
    while True:
        if numberOfSockets < numberOfViewers:
            numberOfSockets += 1
            print "Building viewers " + str(numberOfSockets) + "/" + str(numberOfViewers)
            urls.append(getURL())

def view(): # Opens connections to send views
    global numberOfSockets
    while True:
        url=q.get()
        requests.head(url)
        if (url in urlsUsed):
            urls.remove(url)
            urlsUsed.remove(url)
            numberOfSockets -= 1
        else:
            urlsUsed.append(url)
        q.task_done()

if __name__ == '__main__':
    for i in range(0, builderThreads):
        threading.Thread(target = build).start()

    while True:
        while (numberOfViewers != numberOfSockets): # Wait until sockets are built
            time.sleep(1)

        q=Queue(concurrent*2)
        for i in range(concurrent):
            try:
                t=threading.Thread(target=view)
                t.daemon=True
                t.start()
            except:
                print 'thread error'
        try:
            for url in urls:
                print url
                q.put(url.strip())
                q.join()
        except KeyboardInterrupt:
            sys.exit(1)
导入请求
导入子流程
导入json
导入系统
导入线程
导入时间
从队列导入队列
numberOfViewers=int(sys.argv[1])
builderThreads=int(sys.argv[2])
startTime=time.time()
numberOfSockets=0
并发=25
URL=[]
urlsUsed=[]
def getURL():#获取令牌
output=subprocess.Popen([“livestreamer”、“twitch.tv/ispazzcraft”、“-j”],stdout=subprocess.PIPE)。communicate()[0]
返回json.loads(output)['streams']['best']['url']#解析json并返回url参数
def build():#构建一组令牌,也称为查看器
全局套接字数
全球观众人数
尽管如此:
如果numberOfSockets
这里是错误

Traceback (most recent call last):
  File "C:\Python27\Scripts\test.py", line 9, in <module>
    numberOfViewers = int(sys.argv[1])
IndexError: list index out of range
回溯(最近一次呼叫最后一次):
文件“C:\Python27\Scripts\test.py”,第9行,在
numberOfViewers=int(sys.argv[1])
索引器:列表索引超出范围
其他人说他们通过安装requests包修复了它,我也修复了,但我仍然收到这个错误
我还查看了最新版本的requests软件包,您应该提供2个命令行参数(数字)来使用此脚本:

numberOfViewers = int(sys.argv[1])
builderThreads = int(sys.argv[2])
例如,如果脚本的名称为test.py:

test.py 1 2

sys.argv是通过命令行提交的参数列表。如果您遇到此错误,则表示您没有提供足够的参数。您需要从命令行运行此脚本,例如:
pythonscript.py 12 19