As @Hornbydd mentions in comments, merging all feature class will do it for you.
import arcpy
arcpy.env.workspace = "C:/data/Py.gdb"
fc = "lines"
distances = [10,20,30]
#empty list for feature classes
fcs = []
with arcpy.da.SearchCursor(fc, ['SHAPE@', 'width','OID@']) as cursor:
for geom, width, oid in cursor:
arcpy.MultipleRingBuffer_analysis(Input_Features=geom,
Output_Feature_class='Multibuffer_{0}'.format(oid),
Distances=[i+width for i in distances],
Buffer_Unit='meters',
Dissolve_Option='ALL')
#add buffer to feature class list
fcs += ['Multibuffer_{0}'.format(oid)]
#merge feature classes
arcpy.Merge_management (fcs, "Multibuffers")
#clean up
for fc in fcs:
arcpy.Delete_management (fc)
If you want to go faster, create a new feature class, create your buffers in memory, and insert the geometries as you go.
import arcpy
arcpy.env.workspace = "C:/data/Py.gdb"
fc = "lines"
distances = [10,20,30]
#fc spatial refernce
sr = arcpy.Describe (fc).spatialReference
#create feature class
arcpy.CreateFeatureclass_management ("C:/data/Py.gdb", "Multibuffers", "POLYGON", spatial_reference = sr)
#insert cursor to insert geometries into feature class
with arcpy.da.InsertCursor ("Multibuffers", ["SHAPE@"]) as iCurs:
with arcpy.da.SearchCursor(fc, ['SHAPE@', 'width','OID@']) as cursor:
for geom, width, oid in cursor:
#buffer in memory
arcpy.MultipleRingBuffer_analysis(Input_Features=geom,
Output_Feature_class=r'in_memory\buffs',
Distances=[i+width for i in distances],
Buffer_Unit='meters')
#iterate buffers and add to output feature class
with arcpy.da.SearchCursor (r'in_memory\buffs', ["SHAPE@"]) as sCurs:
for row in sCurs:
iCurs.insertRow (row)
#delete in memory buffers
arcpy.Delete_management (r'in_memory\buffs')