數量我在我的代碼的結構如下:減少參數的函數發生在蟒蛇
#!/usr/bin/env python
import <something>
.
.
.
from modules import *
from optparse import OptionParser
class Main:
def __init__(self):
parser = self.get_argument()
self.set_argument(parser)
def my_args(self):
parser = OptionParser(usage='usage: %prog [options]', version='%prog 1.0.0')
parser.add_option('-t', '--test', action='store_true', dest='test', default=False,
help='Help of test.')
.
.
.
return parser
def set_args(self, parser)
options, args = parser.parse_args()
params = dict(test=options.test, ..., arg100=options.arg100)
self.start(**params)
def start(self, **params):
print params
def ...:
...
.
.
.
if __name__ == '__main__':
Main()
我想運行開始爲越來越參數和值使用其他功能。但:
TypeError: start() takes exactly 2 arguments (1 given)
如何使用kwargs傳遞它們?
什麼是使用start
中的參數的最佳方法。 我真的很新kwargs
。
你是如何調用'開始()'方法?如果我使用上面寫的'start()'方法,它不會出錯,只是打印出一個空字典。 –
赦免,是的。你是對的。我如何使用kwargs來傳遞它們? – MLSC
開始是定義採取kwargs或關鍵字參數,因爲你把**放在params前面,然後在set_args中定義參數,但是你通過了測試,甚至沒有聲明,你也沒有傳遞任何關鍵字參數。我不知道你是否在另一個地方聲明瞭另一個'test'。您可能想要解決這些問題。 –