- 參考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) #則刪掉