У меня естьКак конвертировать sys.argv в argparse в питона
file1 = sys.argv[1]
file2 = sys.argv[2]
file2 = sys.argv[3]
Как я могу поместить это в argparse?
У меня естьКак конвертировать sys.argv в argparse в питона
file1 = sys.argv[1]
file2 = sys.argv[2]
file2 = sys.argv[3]
Как я могу поместить это в argparse?
Готовые открытые файловые объекты:
import argparse, sys
parser = argparse.ArgumentParser(description='Process src to dst')
parser.add_argument('src', type=argparse.FileType('r'),
default=sys.stdin)
parser.add_argument('dst', type=argparse.FileType('w'),
default=sys.stdout)
options = parser.parse_args()
Затем используйте options.src
и options.dst
как уже открытые файловые объекты.
печатает следующее при использовании переключателя --help
командной строки:
usage: somescript.py [-h] src dst
Process src to dst
positional arguments:
src
dst
optional arguments:
-h, --help show this help message and exit
Если FileType
в ответ Мартейн в вас смущает, более базовая настройка является
import argparse
p=argparse.ArgumentParser()
p.add_argument('file1')
p.add_argument('file2')
p.add_argument('file3')
тест с:
import sys
sys.argv.extend(['file1','file2','file3')
p.parse_args()
# Namespace(file1='file1', file2='file2', file3='file3')
Здесь вы открываете файлы сами, а с FileType
, arpgparse
делает это для вас и заботится об ошибках, если у него есть проблемы.
Вы назначаете 'файл2' дважды? – user2357112