python:使用包含变量的名称访问实例变量

use*_*844 6 python variables instance

在python我试图访问一个实例变量,我需要使用另一个变量的值来确定名称:示例实例变量:user.remote.directory其中它指向'servername:/ mnt/..的值...'和用户部分包含用户的用户标识,例如joe.remote.directory

从另一个类我需要能够使用包含joe用户ID的变量访问joe.remote.directory.我尝试过variable.remote.directory但它不起作用,有什么建议吗?

Rob*_*wie 14

不确定你想要什么,但我认为getattr(obj, 'name')可能有所帮助.请参见http://docs.python.org/library/functions.html#getattr


Ada*_*man 5

您可以通过以下方式引用称为name对象的实例变量obj

obj.__dict__['name']
Run Code Online (Sandbox Code Playgroud)

因此,如果您有另一个变量prop要保存要引用的实例变量的名称,则可以通过以下方式进行操作:

obj.__dict__[prop]
Run Code Online (Sandbox Code Playgroud)

如果发现自己需要此功能,则应问自己,使用dict代替实例是否实际上不是一个好的情况。