从外部设置任意属性适用于普通类,但不适用于字符串等内部对象?!如何检查是否允许我设置任意属性?
最佳答案
使用try- except
def canSetAttr(o):
try:
name = 'probablynotset'
flag = hasattr(o, name)
if flag:
old = getattr(o, name)
setattr(o, name, 'x')
if flag:
setattr(o, name, old)
else:
delattr(o, name)
return True
except AttributeError:
return False
关于python - 如何检查是否可以在 Python 对象中设置(修补)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9723160/