Q:

Arcpy buff does not provide the output attribute "Shape_Area"

I made a loop to buffer several times a certain network using arcpy.  What I noticed is that when I run the code, the output files do not have the attribute fields "Shape_Area" and "Shape_Length" that I get if I perform it directly via ArcMap with the geoprocessing tool "Buffer".  Still, the area is shown on the map (therefore its Shape_Area and Shape_Length cannot be zero).  Is there an easy way to solve this problem, since I need the "Shape_Area" parameter to work with?  My buffer code is simply:
#Enter the name of the fields I want to use to buffer (they exist in "network")
Buffers = ['Name1','Name1','Name1','Name1','Name1']

env.workspace = "C:\Mydirectory"

# Enter the network to be buffered.  It contains the fields listed in "Buffers"
network = "FileinMyDirectory.shp"

out = "C:\Anotherdirectory.gdb"
for buff in Buffers: 
       arcpy. Buffer_analysis(network, os.path.join(out,buff), buff,)

A:

Here is a script that would achieve it:
import arcpy
import os

arcpy.env.workspace = r"D:\Test\Data_Points"
Buffers = arcpy. ListFeatureClasses()
out = r'D:\Test\data.gdb'

for buff in Buffers:
    arcpy. Buffer_analysis(buff, os.path.join(out,buff[:-4] + '_buffer'), '20 kilometers')

print 'done'

This script takes all shapefiles from directory, buffers them, and the saves them into a geodatabase.  Note that I strip the ending (.shp) of the input shapefile and that I add _buffer to the output.  Both Shape_Area and Shape_Length are created. 
You can see input and output here:

