python getopts_linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结
在 python 中有個獲取命令行參數的函數叫 getopt(args, shortopts, longopts=[])
通常我們使用的時候是如下的形式:
import sys
import getopt
opts,args=getopt.getopt( sys.args[1:], "ab:", ["help","name="] )
如果我們輸入的命令參數是 -a -b1 --name=12 --help
返回的opts 值為 [('-a',''),('-b','1'),('--name','12'),('--help','')]
b之后的冒號和name后面的等號分別表示-b 和 --name附帶參數
args 是其他參數,比如輸入的命令參數是 -a -b1 --name=12 --help 555
那么返回的args 會是 ['555'] ,注意 555必須加在命令行參數的最后 , 如果加在 --help 之前, 則 --help 也會被當作 args來處理不會在opts中返回.
再說bash中的 getopts命令:
while getopts "ab:" options
do
case $option in
a)
...
done
該命令遍歷命令行的 連命令(-a -b 這種叫連命令),并與option_str 即示例代碼中的"ab:" 比較,如果匹配就返回 連命令的值,不匹配就返回?(注意轉意),對于像b這樣有參數的連命令 getopts還會額外有一個內部變量 $OPTARG 來表示. 當遍歷完所有的命令行參數后,返回一個不等于0的狀態值
getopts有兩個隱含變量 一個叫 $OPTARG $OPTIND:
$OPTIND 每當 getopts 函數遍歷每一個能匹配連命令(包括連命令的參數), 該值+1,遍歷完第一個匹配連命令后$OPTIND的 值為2
$OPTARG 則是匹配到有參數的連命令后 參數的值
總結
以上是生活随笔為你收集整理的python getopts_linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获取浏览访问记录_超级浏览器(替代版),
- 下一篇: python没有运行_Python没有执