I was just creating some small scripts to mirror/clamp/fix bone envelopes, bbone x/z size etc. so far I’ve only managed to do this by copying one value at time, something like this:
You can use dir to get a list of all attributes. But you don’t want to stop if you encounter a read-only attribute.
attr_list = [name for name in dir(b) if name[0] != "_"]
for name in attr_list:
try:
setattr(b, name, getattr(b, name))
except AttributeError:
print("Cannot set attribute %s" % name)