2012-08-23 128 views
0

所以我有一個函數來自GDATA API(gdata.sample_util.authorize_client(client,service = client.auth_service,source = client.source,scopes = client.auth_scopes)),它使用命令行來接收參數。我怎麼能自動化,所以我可以硬編碼參數?傳遞參數到命令行(PYTHON)

+1

你的問題是什麼,你想從命令行傳遞參數嗎?如果是這樣,你的問題是什麼?你想自動化什麼?爲什麼和你想要硬編碼 – schacki

回答

1

你通過硬編碼參數的意思是,你不必參數寫每次調用該函數,或者從命令行打開程序?這些被稱爲默認參數。檢查了這一點:

http://docs.python.org/release/1.5.1p1/tut/defaultArgs.html

例子:

def ask_ok(prompt, retries=4, complaint='Yes or no, please!'): 
    while 1: 
     ok = raw_input(prompt) 
     if ok in ('y', 'ye', 'yes'): return 1 
     if ok in ('n', 'no', 'nop', 'nope'): return 0 
     retries = retries - 1 
     if retries < 0: raise IOError, 'refusenik user' 
     print complaint 

所以,實際上你可以調用不同的方式這個功能:

ask_ok('Do you really want to quit?')

或像這樣:

ask_ok('OK to overwrite the file?', 2) 

祝你好運!

0

如果沒有命令行參數傳遞,你可以添加參數,如你所願

import sys 

sys.argv += ["-a"]