argparse:动态使用为后面的参数选择的早期参数的值
argparse: Dynamically use the value chosen for earlier argument for later argument
是否可以将一个参数用于后面的参数?
from argparse import ArgumentParser
def get_args():
parser = ArgumentParser(description="Data Generator")
parser.add_argument('--name', required=True, type=str, help='Pick one: x, y, z')
parser.add_argument('--save_path', type=str, default='C:/Users/User1/Desktop/', help='The save path')
args = parser.parse_args()
return args
例如,我想稍后使用用户在 --name
中包含的值并自动添加到 --save_path
值上。我该怎么做?
args
只不过是一个 simple container object,它将其值作为属性保存。您可以在返回之前修改它。
鉴于name
和save_path
似乎是目录或文件名,您可以使用os.path.join
将name
添加到save_path
。
import os.path
# ...
def get_args():
# ...
args = parser.parse_args()
args.save_path = os.path.join(args.save_path, args.name)
return args
是否可以将一个参数用于后面的参数?
from argparse import ArgumentParser
def get_args():
parser = ArgumentParser(description="Data Generator")
parser.add_argument('--name', required=True, type=str, help='Pick one: x, y, z')
parser.add_argument('--save_path', type=str, default='C:/Users/User1/Desktop/', help='The save path')
args = parser.parse_args()
return args
例如,我想稍后使用用户在 --name
中包含的值并自动添加到 --save_path
值上。我该怎么做?
args
只不过是一个 simple container object,它将其值作为属性保存。您可以在返回之前修改它。
鉴于name
和save_path
似乎是目录或文件名,您可以使用os.path.join
将name
添加到save_path
。
import os.path
# ...
def get_args():
# ...
args = parser.parse_args()
args.save_path = os.path.join(args.save_path, args.name)
return args