我有一个关于传递参数传递给里面的变量初始化蟒蛇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)' –