TypeError: объект «Пространство имен» не может быть интерпретирован как целое число - PullRequest
0 голосов
/ 27 марта 2019

Когда я запускаю этот скрипт, я хочу добавить в консоль аргумент для числа потребителей, которых я хочу запустить вместе. Например, 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 голосов
/ 27 марта 2019

Вы используете 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()
...