python刪除長目錄 刪除Python中的舊目錄

2021-10-12 11:47:10 字數 1637 閱讀 7577

我有幾個目錄,我希望超過7天的目錄被刪除。我已經實現了**,但似乎不起作用。有人知道我錯在**嗎?def delete_sandbox():

for directories in os.listdir(os.getcwd()):

if not os.path.isdir(directories) or not os.stat(directories).st_ctime < time.time()-(7*24*3600):

continue

os.chdir(directories)

drop_sandbox()

os.chdir(rootdir)

os.system("sudo rm -rf "+directories)

print 'folders older than 7 days old dropped and removed'

謝謝你的幫助

資料夾沙盒將刪除但不刪除。我希望程式進入這些資料夾中的每個資料夾,放下沙盒,切換回根目錄並刪除所有舊目錄。當我這樣做時,資料夾仍然存在。

另外,當我用儲存在資料夾名中的字串日期刪除目錄時,此函式也起作用。但現在我試圖得到時間戳,它已經停止工作。

我已經測試了'rm -rf'+directories,它不會刪除舊資料夾。當我嘗試shutil.rmtree時,會收到錯誤訊息:traceback (most recent call last):

file "yep.py", line 21, in

delete_sandbox()

file "yep.py", line 18, in delete_sandbox

shutil.rmtree(directories)

file "/home/build/workspace/downloads/python-2.6.4/lib/shutil.py", line 208, in rmtree

onerror(os.listdir, path, sys.exc_info())

file "/home/build/workspace/downloads/python-2.6.4/lib/shutil.py", line 206, in rmtree

names = os.listdir(path)

oserror: [errno 2] no such file or directory: 'debug'

有沒有其他方法可以刪除這些資料夾?

我成功了,我用了shutil.rmtree,一切似乎都成功了。謝謝你的幫助。修訂後的法典是:def delete_sandbox():

for directories in os.listdir(os.getcwd()):

if not os.path.isdir(directories) or not os.stat(directories).st_ctime < time.time()-(sbox_age):

continue

os.chdir(directories)

drop_sandbox()

os.chdir(rootdir)

shutil.rmtree(directories)

print 'sandboxes older than 7 days old dropped and removed'

delete_sandbox()

python 刪除檔案 目錄

remove 同 unlink 的功能是一樣的 在windows系統中,刪除乙個正在使用的檔案,將丟擲異常。在unix中,目錄表中的記錄被刪除,但檔案的儲存還在。使用os.unlink 和os.remove 來刪除檔案 user local bin python2.7 coding utf 8 im...

Python 刪除多級目錄

def rmdirs top for root,dirs,files in os.walk top,topdown false 先刪除檔案 for name in files os.remove os.path.join root,name 再刪除空目錄 for name in dirs os.rm...

python 遞迴刪除檔案 目錄

python 遞迴刪除檔案 目錄本文講述了python實現刪除檔案與目錄的方法。具體實現方法如下 一 刪除檔案 os.remove path 刪除檔案 path.如果path是乙個目錄,丟擲 oserror錯誤。如果要刪除目錄,請使用rmdir remove 同 unlink 的功能是一樣的 my ...