我有一個關於傳遞參數傳遞給裏面的變量初始化蟒蛇argparse由init
問題這裏是我的代碼工作版本。
class A:
def __init__(self):
self.id = args.id
self.pw = args.pw
self.endpoint = args.endpoint
def B:
..do something..
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--id', type=str, help = 'username')
parser.add_argument('-p', '--pw', type=str, help ='password')
parser.add_argument('-e', '--end_point', type=str , help='end point of api')
args = parser.parse_args()
上面的代碼工作,但我想做,現在是把A類裏面的函數內的所有argparse代碼和分配對Arg的初始化。 我查看了網頁,找不到一個好的解決方案。
class A:
def __init__(self):
self.id = self.parse_args(id)
self.pw = self.parse_args(pw)
self.endpoint = self.parse_args(endpoint)
def B:
..do something..
def parse_args(self,args):
parser = argparse.ArgumentParser()
parser.add_argument('-i', '--id', type=str, help = 'username')
parser.add_argument('-p', '--pw', type=str, help ='password')
parser.add_argument('-e', '--end_point', type=str , help='end point of api')
return parser.parse_args(args)
好吧,確切地說,我不知道我該如何解決這個問題。
在上面的例子中,我只是調用args.variable讓args工作,但在這種情況下,我調用self.id = self.parse_args.id?
parse_args函數返回指定參數和我也試過self.id = self.parse_args(ID),這是給我
TypeError: 'builtin_function_or_method' object is not iterable
原因的一部分爲什麼我要成參數分隔成一個單獨的功能是用argparse簡化我的單元測試。
任何幫助將不勝感激。
不是說不行,你需要顯示錯誤或結果,你有。 –
您能否請擴展*不起作用?什麼不能正確工作?它應該如何工作?您輸入什麼來得出結論:它不起作用?它應該如何工作? – idjaw
另一方面,你的函數缺少自引用'parse_args(self,args)' –