Any reason why this wouldn't be working?
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> os
basedir <SPAN class="operator token">=</SPAN> <SPAN class="string token">'C:\\Temp'</SPAN>
gdb_name <SPAN class="operator token">=</SPAN> <SPAN class="string token">'TestGDB'</SPAN>
gdb <SPAN class="operator token">=</SPAN> os<SPAN class="punctuation token">.</SPAN>path<SPAN class="punctuation token">.</SPAN>join<SPAN class="punctuation token">(</SPAN>basedir<SPAN class="punctuation token">,</SPAN> gdb_name<SPAN class="punctuation token">)</SPAN>
<SPAN class="keyword token">if</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>Exists<SPAN class="punctuation token">(</SPAN>gdb<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> gdb
<SPAN class="keyword token">else</SPAN><SPAN class="punctuation token">:</SPAN>
gdb <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>CreateFileGDB_management<SPAN class="punctuation token">(</SPAN>basedir<SPAN class="punctuation token">,</SPAN> gdb_name<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> gdb<SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>
I must not be understanding how .Exists() resolves, for if the gdb already exists, it gives me:
arcgisscripting.ExecuteError: ERROR 000258: Output C:\Temp\TestGDB.gdb already exists
Failed to execute (CreateFileGDB)
If the gdb does not exist, it gives me:
RuntimeError: Object: Error in accessing environment <workspace>