关于argparse

匿名 (未验证) 提交于 2019-12-03 00:09:02

作用就是用来为脚本添加命令行参数,例如下面的代码:

# coding:utf-8 from __future__ import absolute_import import argparse import os import logging from src.tfrecord import main  def parse_args():     parser = argparse.ArgumentParser()     parser.add_argument('-t', '--tensorflow-data-dir', default='pic/')     parser.add_argument('--train-shards', default=2, type=int)     parser.add_argument('--validation-shards', default=2, type=int)     parser.add_argument('--num-threads', default=2, type=int)     parser.add_argument('--dataset-name', default='satellite', type=str)     return parser.parse_args()  if __name__ == '__main__':     logging.basicConfig(level=logging.INFO)     args = parse_args()     args.tensorflow_dir = args.tensorflow_data_dir     args.train_directory = os.path.join(args.tensorflow_dir, 'train')     args.validation_directory = os.path.join(args.tensorflow_dir, 'validation')     args.output_directory = args.tensorflow_dir     args.labels_file = os.path.join(args.tensorflow_dir, 'label.txt')     if os.path.exists(args.labels_file) is False:         logging.warning('Can\'t find label.txt. Now create it.')         all_entries = os.listdir(args.train_directory)         dirnames = []         for entry in all_entries:             if os.path.isdir(os.path.join(args.train_directory, entry)):                 dirnames.append(entry)         with open(args.labels_file, 'w') as f:             for dirname in dirnames:                 f.write(dirname + '\n')     main(args)

执行时,需要按照格式输入怎样分割数据集、以及名称等等,需要输入切换到脚本目录在cmd中输入:

python 文件名.py -t 参数 --train-shards 参数  --validation-shards 参数 --num-threads 参数  --dataset-name 参数

来执行代码,同时参数类型和默认参数也在代码中规定了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!