J'ai le script Python qui fonctionne bien lors de son exécution via la ligne de commande. Ce que j'essaie de faire est d'importer ce script dans un autre fichier python et exécutez-le à partir de là.
Le problème est que le script initial nécessite des arguments. Ils sont définis comme suit:
#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()
J'ai importé ce script dans un autre fichier et passé des arguments:
#file two.py
import one
one.main('-o file.png', 'image1.png', 'image2.png')
Mais bien que j'ai défini les images d'entrée comme arguments, j'ai quand même eu l'erreur suivante:
usage: two.py [-h] [-o OUTPUT]
IMAGE [IMAGE ...]
two.py: error: the following arguments are required: IMAGE
Lors de l'appel de argparse
avec des arguments ne provenant pas de sys.argv
vous devez l'appeler avec
parser.parse_args(args)
au lieu de juste
parser.parse_args()