python3.72教程_python3教程_编程入门教程_牛客网
Python3 命令行參數(shù)
Python 提供了 getopt 模塊來(lái)獲取命令行參數(shù)。 $ python test.py arg1 arg2 arg3
Python 中也可以所用 sys 的 sys.argv 來(lái)獲取命令行參數(shù): sys.argv 是命令行參數(shù)列表。
len(sys.argv) 是命令行參數(shù)個(gè)數(shù)。
注:sys.argv[0] 表示腳本名。
實(shí)例
test.py 文件代碼如下: #!/usr/bin/python3
import sys
print ('參數(shù)個(gè)數(shù)為:', len(sys.argv), '個(gè)參數(shù)。')
print ('參數(shù)列表:', str(sys.argv))
執(zhí)行以上代碼,輸出結(jié)果為: $ python3 test.py arg1 arg2 arg3
參數(shù)個(gè)數(shù)為: 4 個(gè)參數(shù)。
參數(shù)列表: ['test.py', 'arg1', 'arg2', 'arg3']
getopt模塊
getopt模塊是專(zhuān)門(mén)處理命令行參數(shù)的模塊,用于獲取命令行選項(xiàng)和參數(shù),也就是sys.argv。命令行選項(xiàng)使得程序的參數(shù)更加靈活。支持短選項(xiàng)模式(-)和長(zhǎng)選項(xiàng)模式(--)。
該模塊提供了兩個(gè)方法及一個(gè)異常處理來(lái)解析命令行參數(shù)。
getopt.getopt 方法
getopt.getopt 方法用于解析命令行參數(shù)列表,語(yǔ)法格式如下: getopt.getopt(args, options[, long_options])
方法參數(shù)說(shuō)明: args: 要解析的命令行參數(shù)列表。
options: 以字符串的格式定義,options后的冒號(hào)(:)表示該選項(xiàng)必須有附加的參數(shù),不帶冒號(hào)表示該選項(xiàng)不附加參數(shù)。
long_options: 以列表的格式定義,long_options 后的等號(hào)(=)表示如果設(shè)置該選項(xiàng),必須有附加的參數(shù),否則就不附加參數(shù)。
該方法返回值由兩個(gè)元素組成: 第一個(gè)是 (option, value) 元組的列表。 第二個(gè)是參數(shù)列表,包含那些沒(méi)有'-'或'--'的參數(shù)。
另外一個(gè)方法是 getopt.gnu_getopt,這里不多做介紹。
Exception getopt.GetoptError
在沒(méi)有找到參數(shù)列表,或選項(xiàng)的需要的參數(shù)為空時(shí)會(huì)觸發(fā)該異常。
異常的參數(shù)是一個(gè)字符串,表示錯(cuò)誤的原因。屬性 msg 和 opt 為相關(guān)選項(xiàng)的錯(cuò)誤信息。
實(shí)例
假定我們創(chuàng)建這樣一個(gè)腳本,可以通過(guò)命令行向腳本文件傳遞兩個(gè)文件名,同時(shí)我們通過(guò)另外一個(gè)選項(xiàng)查看腳本的使用。腳本使用方法如下: usage: test.py -i -o
test.py 文件代碼如下所示: #!/usr/bin/python3
import sys, getopt
def main(argv):
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
except getopt.GetoptError:
print ('test.py -i -o ')
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print ('test.py -i -o ')
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
elif opt in ("-o", "--ofile"):
outputfile = arg
print ('輸入的文件為:', inputfile)
print ('輸出的文件為:', outputfile)
if __name__ == "__main__":
main(sys.argv[1:])
執(zhí)行以上代碼,輸出結(jié)果為: $ python3 test.py -h
usage: test.py -i -o
$ python3 test.py -i inputfile -o outputfile
輸入的文件為: inputfile
輸出的文件為: outputfile
總結(jié)
以上是生活随笔為你收集整理的python3.72教程_python3教程_编程入门教程_牛客网的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何正确地清洁家里的餐厅?
- 下一篇: python中的any函数_python