title: How do I add a shapefile in ArcGIS via python scripting?
body: <p>I am trying to automate various tasks in ArcGIS Desktop (using ArcMap generally) with Python, and I keep needing a way to add a shape file to the current map. (And then do stuff to it, but that's another story).</p>
  
  <p>The best I can do so far is to add a <em>layer</em> file to the current map, using the following ("addLayer" is a layer file object):</p>
  
  <pre><code>def AddLayerFromLayerFile(addLayer):
   import arcpy
   mxd = arcpy.mapping.MapDocument("CURRENT")
   df = arcpy.mapping.ListDataFrames(mxd, "Layers")[0]
   arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
   arcpy.RefreshActiveView()
   arcpy.RefreshTOC()
   del mxd, df, addLayer
  </code></pre>
  
  <p>However, my raw data is always going be shape files, so I need to be able to open them. (Equivantly: convert a shape file to a layer file wiothout opening it, but I'd prefer not to do that).</p>