假設我有模塊myscript.py;該模塊是生產代碼,通常稱爲%dir%>python myscript.py foo bar
。Python:如何在從命令行調用時使用kwargs? (也許與argparse)
我想擴展它以獲取關鍵字參數。我知道我可以使用下面的腳本,但不幸的是我們可以用
%dir%>python myscript.py main(foo, bar)
來稱呼它。
我知道我可以使用模塊,但我不知道該怎麼做。
import sys
def main(foo,bar,**kwargs):
print 'Called myscript with:'
print 'foo = %s' % foo
print 'bar = %s' % bar
if kwargs:
for k in kwargs.keys():
print 'keyword argument : %s' % k + ' = ' + '%s' % kwargs[k]
if __name__=="__main__":
exec(''.join(sys.argv[1:]))
您已經似乎已經提供瞭解決方案,但要我們寫程序爲你。如果你先去[文檔](https://docs.python.org/3/library/argparse.html),嘗試一些東西,當你試圖使用'argparse'的時候再次發佈。 – Ian
我不認爲需要'argparse',我很快就會提出一個答案。 –
'argparse'不需要*,但它使得使用可選參數調用腳本更容易。 – chepner