Python高級功能之OS模塊python
目錄操做就是經過Python來實現目錄的建立,修改,遍歷等功能app
import oside
目錄操做須要調用os模塊函數
>>> import os工具
>>> os.mkdir('test')spa
1、經常使用函數orm
mkdir(path[,mode=0777])遞歸
makedirs(name,mode=551) #建立多級目錄pdo
>>> os.makedirs('a/b/c')rem
rmdir(path) #刪除目錄
>>> os.rmdir('test')
removedirs(path) #刪除多級目錄
>>> os.removedirs('a/b/c')
listdir(path) #查看目錄
>>> os.listdir('/')
getcwd() #查看當前路徑
>>> os.getcwd()
'/root/python'
chdir(path) #切換目錄
>>> os.chdir('/')
>>> os.getcwd()
'/'
walk(top,topdown=True,onerror=None) #遞歸函數,目錄遍歷,返回一個元組,該元組有3個元素,這3個元素分別表示每次遍歷的路徑名,目錄列表和文件列表
2、目錄遍歷(查詢目錄下的全部文件)
(1)
#!/usr/bin/python
#coding:utf8
import os
allfile = []
def dirList(path):
filelist = os.listdir(path)
for filename in filelist:
filepath = os.path.join(path,filename)
if os.path.isdir(filepath):
dirList(filepath)
else:
allfile.append(filepath)
return allfile
def delFile(allfile):
for fi in allfile:
print fi
dirList('/root/python/testdir')
delFile(allfile)
(2)
#!/usr/bin/python
#coding:utf8
import os
def getList(paths):
for p,dir,filelist in os.walk(paths):
for filename in filelist:
print os.path.join(p,filename)
getList('/root/python/testdir')
3、案例:系統垃圾清除小工具(刪除包含‘2’命名的文件,包含‘loyu‘字符的文件)
#!/usr/bin/python
#coding:utf8
import os
import re
def getList(paths):
for p,dir,filelist in os.walk(paths):
for filename in filelist:
filedir = os.path.join(p,filename)
contain = re.findall("2.",filename)
if len(contain)==1:
os.remove(filedir)
else:
openfile1 = open(filedir,'r')
for s in openfile1.readlines():
containchar = re.findall("loyu",s)
if len(containchar)>0:
os.remove(filedir)
getList('/root/python/testdir')