如何解决如何避免使用参数解析进行代码重复?
我正在使用可选参数扩展子解析器。如果未解析可选标志,则“ params”应存储为None。我正在从功能“ import_params”将可选文件值导入另一个python文件。 在下面的代码中,使用默认函数“ import_data”设置了子解析器。我在代码中检查了两次opt args,尽管设置了默认函数,但仍需要在import_params函数中调用它。如何避免这种代码重复的方式?
def _add_import_subparser(subparsers,parents:List[argparse.ArgumentParser])->None:
import_parser = subparsers.add_parser("import",parents=parents)
import_parser.set_defaults(func=import_data)
import_parser.add_argument(SUBPARSER_FILE,nargs="*",type=str)
#optional flag - parameters from yaml file
import_parser.add_argument('-c','--config',default=False)
args = import_parser.parse_args()
import_params
def import_params(args: argparse.Namespace):
if args.config:
params = vars(args).get(PARAM_FILE)
with open(params,'r') as f:
params = yaml.load(f,Loader=yaml.FullLoader)
return params
else:
params = None
import_data
def import_data(args: argparse.Namespace):
files = vars(args).get(SUBPARSER_FILE)
for file in files:
_import_file_or_folder(file)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。