這裏有兩個需求: 刪除某個目錄以及子目錄下的全部.svn文件 刪除某個文件夾下全部文件 在Python中,文件操做主要來自os模塊,主要方法以下:python
os.listdir(dirname):列出dirname下的目錄和文件svn
os.getcwd():得到當前工做目錄函數
os.curdir:返回當前目錄('.')spa
os.chdir(dirname):改變工做目錄到dirnamecode
os.path.isdir(name):判斷name是否是一個目錄,name不是目錄就返回falseorm
os.path.isfile(name):判斷name是否是一個文件,不存在name也返回falseutf-8
os.path.exists(name):判斷是否存在文件或目錄namerem
os.path.getsize(name):得到文件大小,若是name是目錄返回0L字符串
os.path.abspath(name):得到絕對路徑get
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刪除的目錄必須爲空目錄,不然函數出錯。 刪除目錄下的svn代碼: 這裏有兩個需求: 刪除某個目錄以及子目錄下的全部.svn文件 刪除某個文件夾下全部文件 在Python中,文件操做主要來自os模塊,主要方法以下: 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刪除的目錄必須爲空目錄,不然函數出錯。 刪除目錄下的svn代碼:
<!-- lang: python --> #!/usr/bin/env python
#coding=utf-8 import sys, os, stat
def walk(path): for item in os.listdir(path): subpath = os.path.join(path, item) mode = os.stat(subpath)[stat.ST_MODE] if stat.S_ISDIR(mode): if item == ".svn": print "Cleaning %s " %subpath print "%d deleted" % purge(subpath) else: walk(subpath)
def purge(path): count = 0 for item in os.listdir(path): subpath = os.path.join(path, item) mode = os.stat(subpath)[stat.ST_MODE] if stat.S_ISDIR(mode): count += purge(subpath) count += 1 return count if len(sys.argv) != 2: print "Usage: python cleansvn.py path" sys.exit(1) walk(sys.argv[1]) <!-- lang: python --> #!/usr/bin/env python #coding=utf-8 import sys, os, stat
def walk(path): for item in os.listdir(path): subpath = os.path.join(path, item) mode = os.stat(subpath)[stat.ST_MODE] if stat.S_ISDIR(mode): if item == ".svn": print "Cleaning %s " %subpath print "%d deleted" % purge(subpath) else: walk(subpath)
def purge(path): count = 0 for item in os.listdir(path): subpath = os.path.join(path, item) mode = os.stat(subpath)[stat.ST_MODE] if stat.S_ISDIR(mode): count += purge(subpath) count += 1 return count if len(sys.argv) != 2: print "Usage: python cleansvn.py path" sys.exit(1) walk(sys.argv[1])
刪除某目錄下全部文件和文件夾:
#!/usr/bin/env python #coding=utf-8 import os def delete_all_file(path): "delete all folers and files" if os.path.isfile(path): try: os.remove(path) except: pass elif os.path.isdir(path): for item in os.listdir(path): itemsrc = os.path.join(path, item) delete_all_file(itemsrc) try: os.rmdir(path) except: pass if __name__ == "__main__": dirname = r'F:\trunk' print delete_all_file(dirname)