執行python指令碼的命令列引數解析

2021-10-10 03:24:38 字數 2411 閱讀 2232

二、argparse模組

執行python指令碼的命令列引數解析

**如下(示例):

from sys import ar**

print

(ar**)

執行結果(示例):

(base) h:\python\courseware\day67>python argprase_.py -o abc.json -

-time=00:

00:00-

-logfile=a.log

['argprase_.py'

,'-o'

,'abc.json'

,'--time=00:00:00'

,'--logfile=a.log'

]

獲取到的ar**是乙個列表,第乙個是指令碼名

**如下(示例):

from sys import ar**

defparse_ar**()

:# 將命令列輸入的資訊存入字典中,可通過關鍵字獲取命令列輸入的資訊,方便使用

ret =

name =

"" value =

""for i,arg in

enumerate

(ar**[1:

]):if arg.startswith(

"--"):

name,value = arg[2:

].split(

"=")

elif arg.startswith(

'-')

: name = arg[1:

] value = ar**[i+2]

if name:

ret[name]

= value

return ret

if __name__ ==

'__main__'

:print

(parse_ar**(

))

執行結果(示例):

(base) h:\python\courseware\day67>python argprase_.py -o abc.json -

-time=00:

00:00-

-logfile=a.log

argparse模組官網

**如下(示例):

from argparse import argumentparser

# 自定義的函式

defparse_args()

: parser = argumentparser(

)# 第乙個引數表示命令行指定的引數,dest表示解析之後返回的物件的屬性名稱

# help是-h顯示幫助資訊

# default 如果命令列沒有輸入這個引數則使用給定的預設值

# type如果需要轉化型別,通過此引數指定轉換的函式如int

parser.add_argument(

"-o"

,dest=

"outfile"

,help

="指定輸出檔案位置,目前檔案格式僅支援json和excel"

) parser.add_argument(

"--logfile"

,help

="指定日誌檔案"

,default=

"spider.log"

) parser.add_argument(

"-l"

,dest=

"level"

,default=

"info"

,help

="指定日誌的等級"

)# parser的解析函式parse_args()

return parser.parse_args(

)if __name__ ==

'__main__'

: ret = parse_args(

)print

(ret.outfile, ret.logfile, ret.level)

執行結果如下(示例):

(base) h:\python\courseware\day67>python argparse_2.py -o abc.json -

-logfile xx.log -l=info

abc.json xx.log info

此時獲取的物件就擁有了outfile,level等屬性

python 命令列傳參

1.簡單的寫法 通過匯入模組sys import sys if name main argc len sys.ar arg0 sys.ar 0 2.稍微複雜一點的引數可以使用getopt模組 import sys import getopt if name main opt,args getopt....

命令列下執行PHP指令碼

找到php.exe 執行php.exe 檔名 引數1 引數2.引數以空格分開,引數有空格以引號包裹 1 window下可以把當前php.exe路徑新增到環境變數的path裡,就可以直接執行php index.php 引數1 引數2.2 linux unix 借助php cli 執行命令 php h ...

命令列下執行php指令碼

最近在維護乙個 後台,開發語言是php,看來要好好學一學這門語言了。為了做一些簡單的練習,都要開啟webserver,有些大材小用,所以,就想直接在命令列下執行php指令碼。而且,既然php是一種指令碼語言,一些日常用的指令碼工具也可以直接用它來實現,權當練習了。從網上搜了一些資料,整理如下 注 以...