os目录和文件批量操作相关函数

    xiaoxiao2023-11-18  162

    目录

     

    心得:

    os.path模块:

    os模块:

    glob.glob模块:

    获取当前文件的绝对路径:

    获取当前文件所在文件夹的绝对路径:

    批量修改文件夹下子文件夹的名字:

    批量删除文件夹下子文件夹里指定的文件:


    心得:

    路径在python里其实就是字符串,有时不要忘记在目录和文件之间加"/"

    os.path模块:

    os.path.abspath(path):返回绝对路径os.path.basename(path):返回path中的文件名(不包括路径)os.path.dirname(path):返回path的目录(不包括文件名)os.path.exits(path):路径存在则返回True,否则返回Falseos.path.join(dir,base):把目录dir和文件名base合成一个路径(dir,base实质都是字符串,因此可以不用os.path.join,之间用字符串+法,这样还可以在输出文件时自定义输出文件名)os.path.split(path):将路径分割成dirname和basename,返回一个元组(dirname,basename)os.path.isabs(path):判断是否为绝对路径os.path.isfile(path):判断是否为文件os.path.isdir(path):判断是否文目录

    os模块:

    os.listdir(path):返回目录path下所有的文件夹+文件名os.getcwd():返回当前工作目录

    glob.glob模块:

    作用:搜索所有符合条件的文件,并以list的形式返回

    参数是字符串,字符串里有三种匹配符:

    '*':星号代表所有'?':问号代表搜索匹配一个'[]’:[0-9]与[a-z]表示匹配0-9的单个数字与a-z的单个字符。

     

    获取当前文件的绝对路径:

    os.path.abspath(__file__) #输出 .../xxx.py

    获取当前文件所在文件夹的绝对路径:

    os.path.dirname(os.path.abspath(__file__))

    批量修改文件夹下子文件夹的名字:

    import os dir = os.path.dirname(os.path.abspath(__file__)) #print(dir) files = os.listdir(dir) for file in files: if os.path.isdir(file): oldname=file #file实质上是字符串 newname='light3_' + file os.rename(oldname,newname) #print(newname)

    批量删除文件夹下子文件夹里指定的文件:

    import os input_dir = os.path.dirname(os.path.abspath(__file__)) dir_list = os.listdir(input_dir) for dir in dir_list: if os.path.isdir(dir): #print(dir) if os.path.exists(os.path.abspath(dir+'/clean.bmp')): # 注意要有“/” os.remove(os.path.abspath(dir+'/clean.bmp'))

     

     

    最新回复(0)