Skip to main content
 首页 » 编程设计

Python 错误 : the following arguments are required

2024年09月07日36bhlsheji

我的 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 

请您参考如下方法:

当使用不是来自 sys.argv 的参数调用 argparse 时,你必须调用它

parser.parse_args(args) 

不仅仅是

parser.parse_args()