Как получить доступ к argparse позиционным аргументам через объект пространства имен в Python - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь использовать позиционный аргумент через argparse, но я не могу получить доступ к значению этого аргумента ... Я попытался взглянуть на документацию по python об argparse, но я не нашел ничего по-настоящему ясного ни в другом потоке ...

Так вот мой код:

parser = argparse.ArgumentParser(description='valid arguments')
parser.add_argument('file_liste', type=str, help='give a valid list')
args = parser.parse_args()
print(args)

и вот результат, который я получаю:

Namespace(file_liste='my_list.txt')

это моя командная строка для запуска моего скрипта:

python my_script.py my_list.txt

То, что я хочу, это чтобы мой скрипт использовал txt-файл в качестве аргумента для его чтения, но я не могу получить доступ к этому значению, которое должно храниться в переменной с именем 'file_liste'.

Я пробовал это, но я получаю ошибку:

print(args[0], "this is args[0]")
TypeError: 'Namespace' object does not support indexing

Возможно, это глупость, но я не нашел ответа, который мог бы понять ...

1 Ответ

0 голосов
/ 29 августа 2018

args дает вам аргументы, которые, как говорит ошибка, не поддерживают индексацию. Он дает вам именованные предметы, например,

args.file_liste

будет список файлов, который вы просили.

...