獲取命令列引數用sys.argv
,引數型別都是str
:
t.py內容:
#!/usr/bin/env python3
#coding=utf-8
import sys
if __name__ ==
"__main__"
:print
(len
(sys.argv)
)print
(sys.argv[1]
)
[root@xjb ~]# python3 t.py abc
2abc
[root@xjb ~]# ./t.py 123
2123
注意:
如果命令列引數裡有特殊字元,如(
、)
等,會報錯,這是可以用""
或''
將引數引起來,python程式獲取到的引數會是""
包裹裡的內容(不包括""
),若引數裡有"
,可以用\"
轉義。
如程式t.py如下:
#!/usr/bin/env python
#coding=utf-8
import sys
if __name__ ==
"__main__"
:print
(len
(sys.argv)
)for arg in sys.argv:
print
(arg)
執行程式:
[root@xjb tmp]# ./t.py abc ab( ab)
-bash: syntax error near unexpected token `('
[root@xjb tmp]# ./t.py abc ab\( ab\)
4./t.py
abcab(
ab)[root@xjb tmp]# ./t.py abc "ab(" "ab)"
4./t.py
abcab(
ab)[root@xjb tmp]# ./t.py 'ab"sdc' "ab'"
3./t.py
ab"sdc
ab'[root@xjb tmp]# ./t.py 'ab"sdc' 'ad('
3./t.py
ab"sdc
ad(
python 命令列引數
本篇將介紹python中sys,getopt模組處理命令列引數 如果想對python指令碼傳引數,python中對應的argc,argv c語言的命令列引數 是什麼呢?需要模組 sys 引數個數 len sys.argv 指令碼名 sys.argv 0 引數1 sys.argv 1 引數2 sys....
python 命令列引數
python呼叫時,可以直接在命令列中加入呼叫引數,通過sys模組的argv來進行解析,如下 lixinglei bogon someother python param.py port 8080 username lixinglei lixinglei bogon someother vim pa...
python 命令列引數
一 getopt模組 主要用到了模組中的函式 options,args getopt.getopt args,shortopts,longopts 引數args 一般是sys.argv 1 過濾掉sys.argv 0 它是執行指令碼的名字,不算做命令列引數。shortopts 短格式 例如 hp i...