1.Jupyter Notebook下使用argparse报错ipykernel_launcher.py: error: unrecognized arguments: -f
解决方法:args = parser.parse_args()
改为args = parser.parse_args(args=[])
即可
2.argparse科普文:
python之parser.add_argument()用法——命令行选项、参数和子命令解析器
之前对action='store_true'
不是很了解,科普后好明白,另外-h是就有提示了 temp.py [-h] [--sparse] [--seed SEED] [--epochs EPOCHS]
,–sparse后面不需要接参数,接了反而出错。
3.用yes', 'true', 't', 'y', '1'
等表示True
参考https://github.com/shinseung428/GlobalLocalImageCompletion_TF/blob/master/config.py
import argparse
def str2bool(v):
if v.lower() in ('yes', 'true', 't', 'y', '1'):
return True
elif v.lower() in ('no', 'false', 'f', 'n', '0'):
return False
else:
raise argparse.ArgumentTypeError('Boolean value expected.')
parser = argparse.ArgumentParser(description='')
parser.add_argument('--continue_training', dest='continue_training', default=False, type=str2bool, help='flag to continue training')
args = parser.parse_args()
print(args.continue_training)
随后可自行尝试下列结果。
python temp.py --continue_training t
python temp.py --continue_training 1