I'm trying to cycle through all the armatures to export them to a file. this seems easiest using bpy.data.armatures[x] instead of going through bpy.context.scene.objects and checking if each object's type is an armature. the problem I'm having is that I can't export the proper world-translated positions for each bone this way... why is there no bpy.data.armatures[0].matrix_world ?

cool. that works. however I've noticed something else strange about the armature datablock. len( bpy.data.objects['Armature'].bones ) is the total number of bones in the armature, although each bone has children that are also included in that set. the program I'm writing that imports from my format is designed to have a root bone with children bones, who also have children, etc. how do I get the root bone? it's not just bpy.data.objects['Armature'].data.bone[0] because if that gets deleted, the list just shuffles down.