TypeError:“名称空间”对象无法解释为整数

时间:2019-03-27 09:32:01

标签: python-3.x multithreading scrapy threadpool

运行此脚本时,我想在控制台中为要一起运行的使用者数量添加一个参数。例如adsconsumer.py nb=10表示我将同时运行此脚本10次。

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('nb=')
    nb = parser.parse_args()

    for i in range(nb):
        thread = Thread(target=process_consumer(), args=())
        thread.start()
        thread.join()

我收到此错误:

  

TypeError:“命名空间”对象不能解释为整数

1 个答案:

答案 0 :(得分:0)

您正在使用nb作为数值,因此应该如此。试试:

print(type(nb))

它应返回str,如错误所示。

只需将其转换为整数,如下所示:

or i in range(int(nb)):

或告诉agparser将输入视为整数:

def main():
parser = argparse.ArgumentParser()
parser.add_argument('nb=',type=int)
nb = parser.parse_args()