Py学习  »  问与答

关于args = parser.parse_args()报错,SystemExit: 2(新手)

MoMoMoo • 3 年前 • 2332 次点击  

在运行test_net.py文件时报错,怀疑可能是参数没有设置。 程序:

parser = argparse.ArgumentParser()
parser.add_argument('--config_path', type=str, default="",
                    help='the location of the data folder')
parser.add_argument('--data_path', type=str, required=True, default="/mnt/Dataset/xView2/v2",
                    help='the location of the data folder')
parser.add_argument('--ckpt_path', type=str, required=True, default="",
                    help='Path to checkpoint')
parser.add_argument('--result_dir', type=str, required=True, default="",
                    help='Path to save result submit and compare iamges')
parser.add_argument('--is_train_data', action='store_true', dest='is_train_data',
                    help='')
parser.add_argument('--is_use_gpu', action='store_true', dest='is_use_gpu',
                    help='')

args = parser.parse_args()

报错:

runfile('D:/aaa/New_file/test_net.py', wdir='D:/aaa/New_file')
Reloaded modules: models, models.dual_hrnet, xview2, utils
usage: test_net.py [-h] [--config_path CONFIG_PATH] --data_path DATA_PATH
                   --ckpt_path CKPT_PATH --result_dir RESULT_DIR
                   [--is_train_data] [--is_use_gpu]
test_net.py: error: the following arguments are required: --data_path, --ckpt_path, --result_dir
An exception has occurred, use %tb to see the full traceback.

SystemExit: 2
输入%tb后查看完整回溯后
%tb
Traceback (most recent call last):

  File "D:\aaa\New_file\test_net.py", line 41, in <module>
    args = parser.parse_args(args=[])

  File "D:\Anaconda\envs\tensorflow\lib\argparse.py", line 1755, in parse_args
    args, argv = self.parse_known_args(args, namespace)

  File "D:\Anaconda\envs\tensorflow\lib\argparse.py", line 1787, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)

  File "D:\Anaconda\envs\tensorflow\lib\argparse.py", line 2022, in _parse_known_args
    ', '.join(required_actions))

  File "D:\Anaconda\envs\tensorflow\lib\argparse.py", line 2508, in error
    self.exit(2, _('%(prog)s: error: %(message)s\n') % args)

  File "D:\Anaconda\envs\tensorflow\lib\argparse.py", line 2495, in exit
    _sys.exit(status)

SystemExit: 2

我在想是不是default部分的参数我没设置对

最后一次修改于 (2021-03-30 14:47)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110691
 
2332 次点击