星期四, 10月 14, 2010

pyhton的argc與argv

如果用C寫一般的命令列工具,常透過main函式的argc,argv來取得使用者所輸入的命令參數。
int main(int argc, char *argv)
{
...
}

那麼在python中要作同樣的事該怎麼作呢?

第一,python是一個script language,所以沒有像C語言一樣規定程式執行的起點一定是main(),要作到同樣的事python裡面可以這樣寫
if __name__=='__main__':
   ...傳統上main()要作的事寫在這裡
   ...
第二,還需要知道從何處取得像C一樣定義的argc/argv。
在python中我們需要引入sys模組,並由sys.argv來取得命令列參數項

以下列程式為例,若我們在命令列上執行
$ python test.py 1 2 3 4 5
執行結果為
['test.py', '1', '2', '3', '4', '5']

test.py的內容如下
import sys

if __name__:'__main__':
  print sys.argv

至於C中的argc,在python中可由len(sys.argv)取得。

沒有留言: