python采用getopt解析命令行输入参数实例,pythongetopt


本文实例讲述了python采用getopt解析命令行输入参数的方法,分享给大家供大家参考。

具体实例代码如下:

import getopt 
import sys 
 
config = { 
  "input":"", 
  "output":".", 
   
} 
 
#getopt三个选项,第一个一般为sys.argv[1:],第二个参数为短参数,如果参数后面必须跟值,须加:,第三个参数为长参数 
#是一个列表, 
opts, args = getopt.getopt(sys.argv[1:], 'hi:o:d',  
   [ 
    'input=',  
    'output=',  
    'help' 
    ] 
   ) 
 
#参数的解析过程,长参数为--,短参数为- 
for option, value in opts: 
  if option in ["-h","--help"]: 
    print """ 
    usage:%s --input=[value] --output=[value] 
    usage:%s -input value -o value 
    """ 
  elif option in ['--input', '-i']: 
    config["input"] = value 
  elif option in ['--output', '-o']: 
    config["output"] = value 
  elif option == "-d": 
    print "usage -d" 
 
print config  

输入的参数:

--input=c:\temp\aa -o c:\temp\output -d

打印的结果:

usage -d
{'input': 'c:\\temp\\aa', 'output': 'c:\\temp\\output'}

希望本文所述对大家的Python程序设计有所帮助。


python,命令行参数的短格式与长格式分别是什?

Python代码
1. try:
2. opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "
output="])
3. except getopt.GetoptError: 4. # print help information and exit:

1. 处理所使用的函数叫getopt() ,因为是直接使用import 导入的getopt 模块,所以要加上限定getopt 才可以。
2. 使用sys.argv[1:] 过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。
3. 使用短格式分析串"ho:" 。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":" 号 。所以"ho:" 就表示"h" 是一个开关选项;"o:" 则表示后面应该带一个参数。
4. 使用长格式分析串列表:["help", "output="] 。长格式串也可以有开关状态,即后面不跟"=" 号。如果跟一个等号则表示后面还应有一个参数 。这个长格式表示"help" 是一个开关选项;"output=" 则表示后面应该带一个参数。
5. 调用getopt 函数。函数返回两个列表:opts 和args 。opts 为分析出的格式信息。args 为不属于格式信息的剩余的命令行参数。opts 是一个两元组的列表。每个元素为:( 选项串, 附加参数) 。如果没有附加参数则为空串'' 。
 

Python 命令行参数是怎使用的?完全不懂,望赐教

早就帮你写好教程了:
【整理】Python中如何获得并处理命令行参数

看这个之前,请确保自己比较清楚python的开发环境,
如果不熟悉,可参考:
【整理】【多图详解】如何在Windows下开发Python:在cmd下运行Python脚本,如何使用Python Shell(command line模式和GUI模式),如何使用Python IDE

(此处不给贴地址,请自己用google搜帖子标题,即可找到帖子地址)
 

评论关闭