Python基础之文件操作+复制文件目录+统计目录大小

open()打开文件

f =open("./file.text","r")  #只读模式

f.read() #读取全部  f.read(5) #读取字符数  f.readline() #读取一行  f.readlines() #读取所有行

f =open("./file.text","w")  #覆盖写入模式,清空已有数据在写入数据,当没有次文件时自动创建

f =open("./file.text","a")  #添加写入模式,在已有数据后继续添加写入数据,当没有次文件时自动创建

rb/wb/ab 使用二进制数据操作,对图片等文件进行操作,如不加b只能对文本文件进行操作

f.close()关闭文件

dir 查看当前目录文件

. 当前目录 .. 上一级目录

 

os模块

import os #导入os模块

os.getcwd() #获取当前工作目录  os.chdir("path")  #修改当前工作目录 

os.listdir() #默认获取当前文件夹或指定路径中的所有文件和文件夹组成的列表

os.mkdir("") #创建一个文件夹/目录   rename("","")  #修改文件/文件夹名称 

os.rmdir("path") #移除一个空文件夹/空目录(有文件不能删除,否则报错) 

stat("path") #获取文件相关信息   os.gettenv("") #获取环境变量

exit() #退出当前执行命令,直接关闭当前操作

当前os模块的值

os.curdir #获取当前路径  os.sep #获取当前系统路径分割符

os.path子模块

os.path.exists("path") #获取文件是否存在  os.path.abspath("path") #获取文件夹下的文件绝对路径 

os.path.basename("path") #获取地址中的文件名 os.path.dirname(“path”) #获取地址中路径

os.path.join("","") #合并路径  os.path.getsize("path") #获取文件大小

os.path.isfile("") #判断是否是个文件  os.path.isdir() #判断是否是个目录

 

#自定义文件复制函数

def CopyFile(varFile1,varFile2):

    

 

#自定义目录复制函数

def CopyDir(varDir1,varDir2):

    dlist = os.liatdir(varDir1) #获取需要复制目录下的所有文件信息

    os.mkdir(varDir2) #新建一个目录

    for vfile in dlist: #获取目标文件的所有文件遍历复制到新目录下

        file1=os.path.join(varDir1,vfile ) 

        file2=os.path.join(varDir2,vfile )

        if os.path.isfile(file1): #判断是否是文件

            CopyFile(file1,file2) #复制文件

        elif os.path.isdir(file1): #判断是否是目录

            CopyDir(file1,file2) #调用自己,复制次级目录

 

#自定义统计目录大小函数

def StatsSize(varDir):
    """
    统计目录大小
    varDir:需要统计大小的目录path
    返回值:目录字节大小,int类型
    """
    filesize = 0
    pathlist = os.listdir(varDir) # 获取目录下所有路径
    for v in pathlist:
        file1=os.path.join(varDir,v)
        if os.path.isfile(file1): #判断是否是文件
            filesize+=os.path.getsize(file1) # 所有文件大小叠加
        elif os.path.isdir(file1): #判断是否是目录
            filesize+=StatsSize(file1) #统计次级目录,获取次级目录文件大小
    return filesize

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章