I assume you want to loop through all the feature classes you're collecting, so it should be: # we only need to do this once hkfc = "C:\Wiley\P1\gis\HK80.gdb\Building_merge_dissolved" desc = arcpy.Describe(hkfc) spatialRef = desc.spatialReference for input in fc: output = os.path.join(outdir, os.path.basename(input) + "_project") arcpy.Project_management(input, output, spatialRef) The way you're using `walk` is a little awkward but should be functional.