大多数时候,我们都在为获取 Schema、Role 及其对象的权限的详细信息而苦苦挣扎,并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码以批量生成授权语句以供进一步使用执行。所以在这里我们要得到它。
示例代码:
class hello:
cls_var_name='Hello_Class'
def setdata(self, value):
self.data=value
fun1_var_name='Setdata_Function'
def showdata(self):
fun2_var_name='Showdata_Function'
print(self.data)
Run Code Online (Sandbox Code Playgroud)
因此,借助该dir()函数,我们可以列出一个类的所有属性。但如何列出类函数内的变量/属性。
演示:
>>> dir(hello)
['__doc__', '__module__', 'cls_var_name', 'setdata', 'showdata']
>>>
>>> dir(hello.setdata)
['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__format__', '__func__', '__get__',
'__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'im_class', 'im_func', 'im_self']
>>>
>>> dir(hello.showdata)
['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__format__', '__func__', '__get__',
'__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'im_class', 'im_func', 'im_self']
Run Code Online (Sandbox Code Playgroud)
在上面的输出中,您可以在结果中看到类的属性列表dir(hello):
'cls_var_name', …
在用于 IT 客户的 Oracle 票证操作/请求中,我们通常会收到这样的请求,即复制具有其他用户拥有的相同权限的用户帐户。或者你可以说在这个或那个用户帐户之后授予我的模型 ID。所以这里是简单的伪代码来实现这一点。