2012-10-03 86 views
3

以字符串參數我需要一個可選的參數運行我的Python腳本時:從Python的命令行

python3 myprogram.py afile.json 

python3 myprogram.py 

這是我一直想:

filename = 0 
parser = argparse.ArgumentParser(description='Create Configuration') 
parser.add_argument('filename', type=str, 
        help='optional filename') 

if filename is not 0: 
    json_data = open(filename).read() 
else: 
    json_data = open('defaultFile.json').read() 

我希望能夠將文件名保存在名爲「文件名」的變量中(如果提供了)。顯然這不起作用。有什麼建議?

回答

4

檢查sys.argv。它給出了一個包含腳本名稱和任何命令行參數的列表。

示例腳本:

import sys 
print sys.argv 

調用它:

> python script.py foobar baz 
['script.py', 'foobar', 'baz'] 
4

如果你正在尋找的第一個參數sys.argv[1]的伎倆。更多信息here