1. 程式人生 > >向python指令碼傳遞引數的方法

向python指令碼傳遞引數的方法

需要模組:sys
引數個數:len(sys.argv)
指令碼名:    sys.argv[0]
引數1:     sys.argv[1]
引數2:     sys.argv[2]
引數列表:sys.argv[1:]


下面通過示例程式碼及操作來說明引數傳遞的具體使用。
示例1:
/Users/nisj/PycharmProjects/EsDataProc/par_transfter.py
#!/usr/bin/Python
import sys
print 'the command line arguments are:'
for i in sys.argv:
    print i

MacBook-Pro-Nisj:EsDataProc nisj$ python par_transfter.py xxx xx skdjsdjk
the command line arguments are:
par_transfter.py
xxx
xx
skdjsdjk
MacBook-Pro-Nisj:EsDataProc nisj$ 

示例2:
/Users/nisj/PycharmProjects/EsDataProc/test.py
import sys
print sys.argv[0]
print sys.argv[1:]
print sys.argv

MacBook-Pro-Nisj:EsDataProc nisj$ python test.py 1212 232 3232
test.py
['1212', '232', '3232']
['test.py', '1212', '232', '3232']
MacBook-Pro-Nisj:EsDataProc nisj$ 

sys.argv[0]是python指令碼的名字。

示例3:
/Users/nisj/PycharmProjects/EsDataProc/test.py
# -*- coding=utf-8 -*-
import sys
print "指令碼名:", sys.argv[0]
for i in range(1, len(sys.argv)):
    print "引數", i, sys.argv[i]

MacBook-Pro-Nisj:EsDataProc nisj$ python test.py 1212 232 3232
指令碼名: test.py
引數 1 1212
引數 2 232
引數 3 3232
MacBook-Pro-Nisj:EsDataProc nisj$