如何将变量设置为属性?

时间:2019-01-02 20:35:17

标签: python attributes pytorch

尝试将变量设置为属性时出现错误。

parser = argparse.ArgumentParser()

parser.add_argument('--arch', action='store',
                dest='arch', default='alexnet',
                help='Store a simple value') 

args = parser.parse_args()

model = models.args.arch(pretrained=True)

我知道models.args.arch会出错,但是将变量设置为属性的语法应该如何?我可以使用if语句来做到这一点,但这将是很多代码,而且我猜它有可能在1行中出现。

1 个答案:

答案 0 :(得分:3)

您要访问内部字典以进行更新:

model = models.__dict__[args.arch](pretrained=True)

或使用getattr

 getattr(models, args.arch)(pretrained=True)