import bpy obj = bpy.data.objects['BezierCurve'] if obj.type == 'CURVE': for subcurve in obj.data.splines: curvetype = subcurve.type if curvetype == 'BEZIER': print("curve is closed:", subcurve.use_cyclic_u) for bezpoint in subcurve.bezier_points: print('knot', bezpoint.co) print('handle_left', bezpoint.handle_left) print('handle_right', bezpoint.handle_right)