標籤:walk listdir lis time 目前的目錄 檔案名稱 os.walk 否則 TE
- 參考http://www.cnblogs.com/iderek/p/8035757.html
- os.listdir(dirname):列出dirname下的目錄和檔案
- os.getcwd():獲得當前工作目錄
- os.curdir:返回目前的目錄(‘.‘)
- os.chdir(dirname):改變工作目錄到dirname
- os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false
- os.path.isfile(name):判斷name是不是一個檔案,不存在name也返回false
- os.path.exists(name):判斷是否存在檔案或目錄name
- os.path.getsize(name):獲得檔案大小,如果name是目錄返回0L
- os.path.abspath(name):獲得絕對路徑
- os.path.normpath(path):規範path字串形式
- os.path.split(name):分割檔案名稱與目錄(事實上,如果你完全使用目錄,它也會將最後一個目錄作為檔案名稱而分離,同時它不會判斷檔案或目錄是否存在)
- os.path.splitext():分離檔案名稱與副檔名
- os.path.join(path,name):串連目錄與檔案名稱或目錄
- os.path.basename(path):返迴文件名
- os.path.dirname(path):返迴文件路徑
- os.remove(dir) #dir為要刪除的檔案夾或者檔案路徑
- os.rmdir(path) #path要刪除的目錄的路徑。需要說明的是,使用os.rmdir刪除的目錄必須為空白目錄,否則函數出錯。
- os.path.getmtime(name) #擷取檔案的修改時間
- os.stat(path).st_mtime#擷取檔案的修改時間
- os.stat(path).st_ctime #擷取檔案修改時間
- os.path.getctime(name)#擷取檔案的建立時間
方法一
import shutil, os
os.chdir(‘d:\_data\python\os‘) #進入要清空的目錄
ds = list(os.listdir()) #獲得該目錄下所有檔案或資料夾清單
for d in ds: #遍曆該列表
if os.path.isfile(d): #如果清單項目是檔案
os.remove(d) #直接刪除
else: #如果不是檔案,肯定是檔案夾
shutil.rmtree(d) #也直接刪除
方法二
import os, datetime
dirToBeEmptied = ‘D:\_Data\Python\os‘ #需要清空的檔案夾
ds = list(os.walk(dirToBeEmptied)) #獲得所有檔案夾的資訊列表
delta = datetime.timedelta(days=365) #設定365天前的檔案為到期
now = datetime.datetime.now() #擷取目前時間
for d in ds: #遍曆該列表
os.chdir(d[0]) #進入本級路徑,防止找不到檔案而報錯
if d[2] != []: #如果該路徑下有檔案
for x in d[2]: #遍曆這些檔案
ctime = datetime.datetime.fromtimestamp(os.path.getctime(x)) #擷取檔案建立時間
if ctime < (now-delta): #若建立於delta天前
os.remove(x) #則刪掉
用Python刪除本地目錄下某一時間點之前建立的檔案