Ошибка Python: требуются следующие аргументы - PullRequest
0 голосов
/ 04 июля 2018

У меня есть скрипт Python, который хорошо работает при выполнении его из командной строки. Я пытаюсь импортировать этот скрипт в другой файл Python и запустить его оттуда.

Проблема в том, что исходный скрипт требует аргументов. Они определены следующим образом:

#file one.py
def main(*args):
   import argparse

   parser = argparse.ArgumentParser(description='MyApp')
   parser.add_argument('-o','--output',dest='output', help='Output file image', default='output.png')
   parser.add_argument('files', metavar='IMAGE', nargs='+', help='Input image file(s)')

   a = parser.parse_args()

Я импортировал этот скрипт в другой файл и передал аргументы:

#file two.py
import one
one.main('-o file.png', 'image1.png', 'image2.png')

Но хотя я определил входные изображения в качестве аргументов, я все равно получил следующую ошибку:

usage: two.py [-h] [-o OUTPUT] 
          IMAGE [IMAGE ...]
two.py: error: the following arguments are required: IMAGE

1 Ответ

0 голосов
/ 04 июля 2018

При вызове argparse с аргументами не из sys.argv вы должны вызывать его с

parser.parse_args(args)

вместо

parser.parse_args()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...