1
我正在嘗試編寫一個檢測器來檢查是否可以使用shutil.rmtree刪除某個目錄。我有部分代碼如下完成,現在工作部分。Python:檢測無法在Windows 7中檢測到的目錄
此代碼現在能夠在目標文件夾下的任何.exe文件仍在運行時發出警告。但是,如果編輯器打開文件夾下的任何特定文件(這是導致目錄不可刪除的另一個原因),則此代碼還不能標記警告。任何指導將不勝感激。在此先感謝
注意:我已使用open方法檢查任何鎖定的文件。
def list_locked_files(dir):
isLocked = False
for name in os.listdir(dir):
uni_name = unicode(name)
fullname = dir + u'/' + uni_name
if os.path.isdir(fullname):
list_locked_files(fullname)
else:
try:
f = open(fullname, 'r+')
f.close()
except IOError:
print fullname + u' is locked!'
isLocked = True
if isLocked is True:
print u'Please close the files/dir above !'
sys.exit(0)
您應該調用系統文件刪除,然後檢查文件是否仍然存在。 (這是個玩笑,實際上並沒有這樣做:)) – 2012-04-01 05:33:38
你是說在問題標題中'刪除'(兩次)而不是'檢測'? – 2012-04-01 07:00:51
如果我正確理解你的問題,第一次是檢測(這是我希望找到答案的問題)。然後第二次是刪除(這我已經解決了 – Daniel 2012-04-01 12:06:01