<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: What to do when a python script fails when a folder/GDB/MDB contains lock file in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170617#M13106</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jason,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could use a try/except statement to skip the geodatabase when the error is encountered.&amp;nbsp; Ex:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#loop through all folders in the workspace&amp;nbsp; 
for dirpath, dirnames, filenames in arcpy.da.Walk(arcpy.env.workspace, datatype="Container"):&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".gdb" in dirname:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all gdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Skipped " + dirpath + "\\ " + dirname + " due to lock."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".mdb" in dirname:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all mdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Skipped " + dirpath + "\\ " + dirname + " due to lock."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 08:50:38 GMT</pubDate>
    <dc:creator>JakeSkinner</dc:creator>
    <dc:date>2021-12-11T08:50:38Z</dc:date>
    <item>
      <title>What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170614#M13103</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So I have a python script the crawls though a parent directory and compacts all personal and file geodatabases.&amp;nbsp; However, if there is a lock on any of the GDBs, the script fails.&amp;nbsp; What's the best way to have the script skip over any GDBs that contain lock files?&amp;nbsp; Using ESRI 10.2.2.&amp;nbsp; Here is the script:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy, os, sys


#set workspace
arcpy.env.workspace = arcpy.GetParameterAsText(0)


#total size of GDBs in workspace before compact
def get_size(start_path = arcpy.env.workspace):
&amp;nbsp;&amp;nbsp;&amp;nbsp; total_size = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirpath, dirnames, filenames in os.walk(start_path):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for f in filenames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fp = os.path.join(dirpath, f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total_size += os.path.getsize(fp)
&amp;nbsp;&amp;nbsp;&amp;nbsp; return round((total_size / float(1048576)), 2)


print "Total Size before Compact " + str(get_size()) + "mb"
results = open("R:\\GIS\\Compact_Results\\results.txt","w")
results.write("Total Size before Compact " + str(get_size()) + "mb" + '\n')


feature_classes = []


#loop through all folders in the workspace
for dirpath, dirnames, filenames in arcpy.da.Walk(arcpy.env.workspace, datatype="Container"):
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".gdb" in dirname:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all gdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".mdb" in dirname:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all mdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 




#total size of GDBs in workspace after compact
def get_size(start_path = arcpy.env.workspace):
&amp;nbsp;&amp;nbsp;&amp;nbsp; total_size = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirpath, dirnames, filenames in os.walk(start_path):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for f in filenames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fp = os.path.join(dirpath, f)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; total_size += os.path.getsize(fp)
&amp;nbsp;&amp;nbsp;&amp;nbsp; return round((total_size / float(1048576)), 2)


print "Total Size after Compact " + str(get_size()) + "mb"
results.write("Total Size after Compact " + str(get_size()) + "mb" + '\n')
results.close()&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for taking a look and any help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:50:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170614#M13103</guid>
      <dc:creator>JasonDowdy</dc:creator>
      <dc:date>2021-12-11T08:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170615#M13104</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe use os.listdir?&amp;nbsp; Depends on if you know the lockfile will always be named with a ".lock" extension.&amp;nbsp; But this won't work if the lock is currently being applied I think.&amp;nbsp; Also-also: doesn't the Compact process remove locks that have been left over?&amp;nbsp; Anyway -- I did minimal test on the code below and didn't really pay attention to overall correctness, just looked to see if it would delete the .lock file I added (it does).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#loop through all folders in the workspace&amp;nbsp; 
for dirpath, dirnames, filenames in arcpy.da.Walk(arcpy.env.workspace, datatype="Container"):
&amp;nbsp;&amp;nbsp;&amp;nbsp; for file in os.listdir(dirpath):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if str(file).find(".lock") &amp;gt; -1:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "lockfile: " + dirpath + "\\" + file
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Delete_management(dirpath + "\\" + file)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print&amp;nbsp; "deleted: " + dirpath + "\\" + file
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".gdb" in dirname:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all gdbs in the user defined worspace&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\\" + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:50:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170615#M13104</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-11T08:50:36Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170616#M13105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll give it a shot.&amp;nbsp; Unfortunately, deleting the lock files is not an option since I don't own the locks.&amp;nbsp; I need to be able to skip over any GDBs/MDBs that contain locks for that reason.&amp;nbsp; Thanks for the input!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2015 18:02:05 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170616#M13105</guid>
      <dc:creator>JasonDowdy</dc:creator>
      <dc:date>2015-04-06T18:02:05Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170617#M13106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jason,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You could use a try/except statement to skip the geodatabase when the error is encountered.&amp;nbsp; Ex:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;#loop through all folders in the workspace&amp;nbsp; 
for dirpath, dirnames, filenames in arcpy.da.Walk(arcpy.env.workspace, datatype="Container"):&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".gdb" in dirname:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all gdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Skipped " + dirpath + "\\ " + dirname + " due to lock."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".mdb" in dirname:&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all mdbs in the user defined worspace
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\ " + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Skipped " + dirpath + "\\ " + dirname + " due to lock."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:50:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170617#M13106</guid>
      <dc:creator>JakeSkinner</dc:creator>
      <dc:date>2021-12-11T08:50:38Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170618#M13107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe the TestSchemaLock would work?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;for dirpath, dirnames, filenames in arcpy.da.Walk(arcpy.env.workspace, datatype="Container"):
&amp;nbsp;&amp;nbsp;&amp;nbsp; for dirname in dirnames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ".gdb" in dirname and not arcpy.TestSchemaLock(dirpath + "\\" + dirname):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #compact all gdbs in the user defined worspace&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.Compact_management(os.path.join(dirpath, dirname))&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "Successfully compacted " + dirpath + "\\" + dirname&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; results.write("Successfully compacted " + dirpath + "\ " + dirname + '\n')&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 08:50:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170618#M13107</guid>
      <dc:creator>JamesCrandall</dc:creator>
      <dc:date>2021-12-11T08:50:41Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170619#M13108</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks!&amp;nbsp; I ended up using this along with &lt;A href="https://community.esri.com/migrated-users/7306"&gt;James Crandall&lt;/A&gt;​TestSchemaLock.&amp;nbsp; Much Appreciated&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2015 20:39:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170619#M13108</guid>
      <dc:creator>JasonDowdy</dc:creator>
      <dc:date>2015-04-06T20:39:09Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170620#M13109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;James, that is a very handy arcpy method!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But it should be said that The Python Way is to try it and ask for forgiveness (try except) instead of running various tests for different potential problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This approach has the advantage in that it allows you to handle many possible (even unanticipated) problems with minimal code. For example, what if the compact fails for some other reason? Your script will fail and you'll have to write another check for that other special case to make your script complete.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Apr 2015 03:05:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170620#M13109</guid>
      <dc:creator>curtvprice</dc:creator>
      <dc:date>2015-04-07T03:05:42Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170621#M13110</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think the great think to do will be to contact the support team they are going to figure that out for you or even better they will provide you with some instructions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards.&lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/info.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Apr 2015 03:48:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170621#M13110</guid>
      <dc:creator>GloriaTshokama</dc:creator>
      <dc:date>2015-04-07T03:48:32Z</dc:date>
    </item>
    <item>
      <title>Re: What to do when a python script fails when a folder/GDB/MDB contains lock file</title>
      <link>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170622#M13111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Jason, can you mark your question as answered? This will help others looking for a similar solution, and also let the rest of us know that you no longer need help. Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Apr 2015 03:51:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/what-to-do-when-a-python-script-fails-when-a/m-p/170622#M13111</guid>
      <dc:creator>SepheFox</dc:creator>
      <dc:date>2015-04-07T03:51:00Z</dc:date>
    </item>
  </channel>
</rss>

