python argparse例子

简介:
  1. arg_1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/python
#coding=utf-8
import  argparse
def  parse_args():
     description  =  "usage: % prog[options]"
     parser  =  argparse.ArgumentParser(description = description)
     parser.add_argument( 'addresses' , nargs = '*' help = 'help' )
     parser.add_argument( 'filename' help = 'help' )
     parser.add_argument( '-p' '--port' type = int help = 'help' )
     parser.add_argument( '--iface' help = help , default = 'localhost' )
     parser.add_argument( '--delay' type = float help = help , default = . 7 )
     parser.add_argument( '--bytes' type = int help = help , default = 10 )
 
     args  =  parser.parse_args()
     return  args
 
if  __name__  = =  '__main__' :
     args  =  parse_args()
 
     for  address  in  args.addresses:
         print  'The address is : %s .'  %  address
         print  'The filename is : %s .'  %  args.filename
         print  'The port is : %d.'  %  args.port
         print  'The interface is : %s.'  %  args.iface
         print  'The number of seconds between sending bytes : %f'  %  args.delay
         print  'The number of bytes to send at a time : %d.'  %  args.bytes
 
#-p 22 --delay 1.2 127.0.0.1 172.16.55.67 poetry/ecstasy.txt


2.arg_2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/python
# coding=utf-8
import  argparse
from  argparse  import  ArgumentParser, RawTextHelpFormatter
 
def  get_args():
     """实例化类,formatter_class参数允许help信息以自定义的格式显示"""
     parser  =  ArgumentParser(description = "This is a tool for execute command(s) on remote server(s) or get/put file(s) from/to the remote server(s)\nNotice: please always use '/' as path separater!!!" ,formatter_class = RawTextHelpFormatter,epilog = "Notice:\n  If any options use more than once,the last one will overwrite the previous" )
     remote_command  =  parser.add_argument_group( 'remote command' 'options for running remote command' )
     remote_command.add_argument( '--cmd' , metavar = '“COMMAND”' , dest = 'cmd' , help = "command run on remote server,multiple commands sperate by ';'" )
     sftp  =  parser.add_argument_group( 'sftp' 'options for running sftp' )
     sftp.add_argument( '--put' , metavar = '',  help = "transfer from local to remote" , nargs = 2 )
     sftp.add_argument( '--get' , metavar = '',  help = "transfer from remote to local" , nargs = 2 )
     global  args
     args  =  vars (parser.parse_args())
     print  args
     =  0
     for  in  ( 'cmd' 'put' 'get' ):
         if  in  args:
             if  args[i]  is  None :
                 del  args[i]
             else :
                 + =  1
     if  n >  1 :
         print ( '\n  Only one of the "--cmd --put --get" can be used!' )
         exit( 10 )
 
if  __name__  = =  '__main__' :
     get_args()
     if  'cmd'  in  args:
         echo_cmd  =  args[ 'cmd' ]
         print  echo_cmd
         
  # --cmd uptime --get /home/nginx /home/nginx



本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/2055878,如需转载请自行联系原作者

相关文章
|
2月前
|
UED 开发者 Python
使用Python构建命令行工具:argparse和click库的使用
使用Python构建命令行工具:argparse和click库的使用
|
5月前
|
JSON 编解码 Linux
Python笔记1(赋值、浅拷贝和深拷贝、字符串日期转换、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill)
Python笔记1(赋值、浅拷贝和深拷贝、字符串日期转换、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill)
38 0
Python笔记1(赋值、浅拷贝和深拷贝、字符串日期转换、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill)
|
8月前
|
Python 容器
|
8月前
|
存储 开发工具 开发者
命令行参数解析神器:深入剖析Python中的argparse模块
命令行参数解析神器:深入剖析Python中的argparse模块
|
9月前
|
存储 Python
【Python标准库】argparse——命令行选项、参数和子命令解析器
【Python标准库】argparse——命令行选项、参数和子命令解析器
|
9月前
|
Python 容器
【Python标准库】argparse的add_argument() 方法介绍
【Python标准库】argparse的add_argument() 方法介绍
|
Python
Python 利用argparse模块实现脚本命令行参数解析
Python 利用argparse模块实现脚本命令行参数解析
63 0
|
Python
python中argparse 命令行参数解析包
argparse 是python自带的命令行参数解析包,可以用来方便地读取命令行参数,当你的代码需要频繁地修改参数的时候,使用这个工具可以将参数和代码分离开来,让你的代码更简洁,适用范围更广
124 0
|
机器学习/深度学习 数据挖掘 数据处理
5个例子比较Python Pandas 和R data.table
5个例子比较Python Pandas 和R data.table
100 0
5个例子比较Python Pandas 和R data.table