Python 傳遞命令列引數

2021-09-05 01:27:50 字數 1297 閱讀 9646

獲取命令列引數用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...