10、Python高級功能之OS模塊

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')

相關文章
相關標籤/搜索