Я пытаюсь написать инструмент командной строки для Python, который я могу запустить следующим образом ..
orgtoanki 'b' 'aj.org' --delimiter="~" --fields="front,back"
Вот скрипт:
#!/usr/bin/env python3
import sys
import argparse
from orgtoanki.api import create_package
parser = argparse.ArgumentParser()
parser.add_argument('--fields', '-f', help="fields, separated by commas", type=str, default='front,back')
parser.add_argument('--delimiter', '-d', help="delimiter", type= str, default='*')
args = parser.parse_args()
name=sys.argv[1]
org_src=sys.argv[2]
create_package(name, org_src, args.fields, agrs.delimiter)
Когда я запускаю это, я получаю следующую ошибку:
usage: orgtoanki [-h] [--fields FIELDS] [--delimiter DELIMITER]
orgtoanki: error: unrecognized arguments: b aj.org
Почему 'b' и 'ab.org' не интерпретируются как sys.argv[1]
и sys.argv[2]
соответственно?
И будет работать по умолчанию так, как я ожидаю, если поля и разделитель не указаны в командной строке?