python - 如何将解析的参数转换为可以在 if 语句中使用的变量?
问题描述
到目前为止,我已经设法让一切正常工作,但我想知道如何以列表或字符串的形式获取最后的参数,而不是解析的参数,这样我就可以对它们使用正常的 if 命令。
def main(_):
maybe_download_and_extract()
image = (FLAGS.image_file if FLAGS.image_file else
os.path.join(FLAGS.model_dir, 'cropped_panda.jpg'))
run_inference_on_image(image)
if __name__ == '__main__':
parser = argparse.ArgumentParser()
# classify_image_graph_def.pb:
# Binary representation of the GraphDef protocol buffer.
# imagenet_synset_to_human_label_map.txt:
# Map from synset ID to a human readable string.
# imagenet_2012_challenge_label_map_proto.pbtxt:
# Text representation of a protocol buffer mapping a label to synset ID.
parser.add_argument(
'--model_dir',
type=str,
default='/tmp/imagenet',
help="""\
Path to classify_image_graph_def.pb,
imagenet_synset_to_human_label_map.txt, and
imagenet_2012_challenge_label_map_proto.pbtxt.\
"""
)
parser.add_argument(
'--image_file',
type=str,
default='',
help='Absolute path to image file.'
)
parser.add_argument(
'--num_top_predictions',
type=int,
default=5,
help='Display this many predictions.'
)
#how do i get a variable that i can interact with from this:
FLAGS, unparsed = parser.parse_known_args()
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
任何帮助将不胜感激。
解决方案
您可以使用 获取参数的字典视图vars
。
argparse 文档中的一个示例(https://docs.python.org/3/library/argparse.html):
>>> args = parser.parse_args(['--foo', 'BAR'])
>>> vars(args)
{'foo': 'BAR'}
因此,您应该能够执行以下操作:
arg_dict = vars(FLAGS)
推荐阅读
- reactjs - 如何旋转
正确使用 visx 在 Sunburst 中? - classification - PCA 可以用于使用高斯混合模型进行分类吗
- ruby-on-rails - Rails 无法访问 Docker 部署的 Postgresql
- c - 为什么直接访问时不打印二维数组值
- amazon-web-services - Beanstalk - SpringBoot - 413 请求实体太大
- google-cloud-platform - Pub/Sub - 无法提取未传递的消息
- c++ - 如何输出创建逻辑错误的函数调用行
- sql - 如何知道数据库表中持久行的频率
- amazon-web-services - 如何仅允许 AWS 用户/角色访问他创建的资源?
- angular-cli - ng build --prod 生成了一些图片文件