【问题标题】:How to pass a variable in dir() in python如何在python中的dir()中传递一个变量
【发布时间】:2019-06-17 18:06:11
【问题描述】:

如何将类作为变量传递给 python 中的 dir() 函数?

我正在尝试将 user_defined 属性用于 dir() 函数内部的内容

p = dir(sv.socket0.uncore.kar)

我想传递一个具有路径的变量,而不是上面显示的绝对路径

dir_path = 'sv.socket0.uncore' + '.kar' // kar here is user_defined

p = dir(dir_path)

这里的问题是该函数将变量视为字符串而不是类,并且不会返回所有类属性。

【问题讨论】:

  • 也许x = sv.socket0.uncore; dir(x)
  • 'sv.socket0.uncore' 是一个字符串。你只想要dir_path = sv.socket0.uncore

标签: python directory


【解决方案1】:

可以将类作为参数传递。如果你这样做,你也可以实例化它并在新实例上调用dir。换句话说,您可能希望传递一个类变量,而不是使用其中编码了路径的字符串:

class Foo:
    def bar(self):
        return "bar"

def dir_cls(cls):
    return dir(cls())

print(dir_cls(Foo))

【讨论】:

  • 感谢您的浏览,但无法满足我的要求。我更新了解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多