linux下:Python-命令行输入参数学习(argparse模块,sys模块,os模块)

经常我们在编译Python代码的时候,会在命令行中增加自己指定的参数:
比如下面这个样子:

python main.py --dataset_dir=apple2orange --continue_train True

这上面就有3个Python的脚本参数,arg[0],arg[1],arg[2]

在main.py中有下面语句来让用户输入用户自己指定的参数.形式很固定,记住就好:

import argparse #首先导入该模块
parser=argparse.ArgumentParser(description="TEST:")#)#然后创建一个解析对象

#然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项
parser.add_argument('--dataset_dir',dest='dataset_dir',default='input_data1',
        help='path of the data')
parser.add_argument('--continue_train',dest='continue_train',type=bool,default=False,
        help='if continue training, load the latest model: 1: true, 0: false')
#parser.add_argument('--date_out',dest='data_out',default='output_data1',
        help='path of output data')

arg=parser.parse_args()#最后调用parse_args()方法进行解析,解析成功之后即可使用

有时候,大家还会遇到下面一句代码:

if len(sys.argv)==1:
    parser.print_help()
    sys.exit(1)

这句话就是的作用是,直接运行下面,

Python main.py
#这里值输入了一个脚本参数,故sys.argv长度为1.

就会输出help信息,就是parser.add_argument()中最后的help信息,提示用户参数怎么用.
同样,不加上面的

import sys
if len(sys.argv)==1:
    parser.print_help()
    sys.exit(1)

也可以通过

python main.py -h

输出帮助信息

有了以上的语句,然后就可以在命令行中加入命令了.

在代码中,有时候要产生文件夹,如果文件夹已经产生,就用下面代码来进行判断:

import os
 if not os.path.exists(arg.dataset_dir  ):
      os.makedirs(arg.data_dir)
 if not os.path.exists(arg.data_out):
      os.makedirs(arg.data_out)

参考:https://blog.csdn.net/guoguoshizhuo/article/details/52539967
参考:https://www.cnblogs.com/ymjyqsx/p/6951028.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值