二、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是一種指令碼語言,一些日常用的指令碼工具也可以直接用它來實現,權當練習了。從網上搜了一些資料,整理如下 注 以...