您的位置:首页 > 编程语言 > Python开发

python文件和目录常用操作—os、shutil模块

2019-06-07 00:41 796 查看

操作环境win10+py3,不同环境可能会有些许差异。
一共涉及到三个模块:os、shutil、glob

  • os.chdir(‘dir’)——切换路径

  • os.getcwd()——获取当前脚本的目录路径

  • os.listdir()——返回指定目录下所有文件和目录名

  • glob.glob()——类似于os.listdir,可以支持模糊查询。比如返回桌面文件夹下py文件列表:glob.glob(‘d:/桌面*.py’)

  • os.remove()——删除一个文件

  • os.removedirs(‘d:/python’)——删除多个空目录

  • shutil.rmtree(‘dir’)——可以删除有内容的目录

  • os.path.isfile(‘filepath’)——检查给出的路径是否是一个文件

  • os.path.isdir(‘filepath’)——检查给出的路径是否是一个目录

  • os.path.isabs()——判断给出的路径是否是绝对路径

  • os.path.abspath()——返回绝对路径

    os.chdir("d:/桌面")
    os.path.abspath("text.xlsm")
    #out:'d:\\桌面\\text.xlsm'
  • os.path.exists()——判断路径是否存在

    '''如果不存在pythoon文件夹,则创建python文件夹'''
    if not os.path.exists('d:/桌面/python'):
    os.mkdir('d:/桌面/python')
  • os.path.basename()——返回文件名

    os.path.basename("d:/桌面/身高信息.txt")
    #out:'身高信息.txt'
  • os.path.dirname()——与basename相对的,返回文件路径。

    os.path.dirname("d:/桌面/身高信息.txt")
    #out:'d:/桌面
  • os.path.islink(path)——判断路径是否为链接

  • os.path.split()——分离一个路径的目录和文件名,返回元组。

    os.path.split('d:/桌面/身高信息.txt')
    #out:('d:/桌面', '身高信息.txt')
  • os.path.splitext()——分离扩展名

  • os.path.join(path1[, path2[, …]])——路径拼接

  • os.path.splitdrive()——返回驱动器名和路径组成的元组

  • os.path.samefile(path1,path2)——判断目录或文件是否相同

  • os.path.realpath(path) ——返回path的真实路径

  • os.path.relpath(path[, start]) ——从start开始计算相对路径

    os.path.relpath('d:/桌面/身高信息.txt','桌面')
    #out:'..\\身高信息.txt'
  • os.path.normpath(path)——规范path的字符串形式

    os.path.normpath('d:/桌面/身高信息.txt')
    #out:'d:\\桌面\\身高信息.txt'
  • os.getenv()——读取环境变量

  • os.putenv——设置环境变量

  • os.linesep——给出当前平台使用的行终止符。windows使用’\r\n’,Linux使用’\n’,max使用’\r’。

  • os.rename(old,new)——文件或目录重命名

  • os.makedirs(‘d:/桌面/python’)——创建多级目录

  • os.mkdir(‘python’)——创建单个目录

  • os.stat(file)——获取文件属性

  • os.chmod(file)——修改文件权限与实践戳

  • os.path.getsize(filename)——获取文件大小

  • shutil.copytree(‘oledir’,‘newdir’)——复制目录,newdir目录不存在

  • shutil.copyfile(‘oldfile’,‘newfile’)——复制文件,oldfile只能似乎文件。newfile可以是目录

  • shutil.move(‘oldpos’,‘newpos’)——移动文件(目录)

  • os.exit()——终止当前进程

  • os.path.getatime(file)——返回文件最近访问时间

  • os.path.getctime(file)——返回文件创建时间

  • os.path.getmtime(file)——返回文件最近修改时间

  • os.walk——类似os.listdir,不过walk方法可以遍历目录下的子目录及文件,生成迭代器,遍历很方便的一个方法。
    os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])

    top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。 root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
  • topdown --可选,为 True,则优先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
  • onerror – 可选,需要一个 callable 对象,当 walk 需要异常时,会调用。
  • followlinks – 可选,如果为 True,则会遍历目录下的快捷方式(linux 下是软连接 symbolic link )实际所指的目录(默认关闭),如果为 False,则优先遍历 top 的子目录。
  • import os
    for root,dirs,files in os.walk('d:/桌面'):
    print(root,dirs,files)
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: