Python学习笔记 os 模块

目录

  - 简述
  - os 模块
  - os.path 模块

简述

  os 模块提供了一些方便实用操作系统相关功能的函数,可以用来处理文件和目录,是Python系统和操作系统进行交互的一个接口,而 os.path 模块则提供了一些常见的对路径进行操作的函数。下面我们将详细的讲解 os 和 os.path 提供的函数。

题外话: 有关读写一个文件,请参阅 open();有关在命令行上读取所有文件中的所有行请参阅 fileinput 模块;有关创建临时文件和目录的方法,请参阅 tempfile 模块;对于高级文件目录处理,请参阅 shutil 模块。

os 模块

一些变量

	os.curdir:返回表示当前目录的字符串,始终为 '.'
    os.pardir:返回表示父目录的字符串,始终为 '..'
    os.extsep:扩展分隔符,始终为 '.'
    os.sep:返回当前系统特定的路径名分隔符,win:'\'(需要用'\\'表示,print('\\')# \);Linux:'/'
    os.pathsep:返回于分割文件路径的字符串 win下为';',Linux下为':'
    os.name:返回字符串表示当前使用平台,win:'nt',Linux:'posix'
    os.altsep:备用路径名分隔符,(None'/')
    os.linesep:文本文件中的行分隔符,('\r''\n''\r\n')
    os.defpath:可执行文件的默认搜索路径
    os.environ:获取系统环境变量

一些函数

    os.getcwd()
        功能:返回当前 Python脚本的工作目录
        参数:无
        返回值:一个字符串

    os.chdir(dirname)# 支持指定文件描述符
        功能:将当前工作目录更改为指定的路径,相当于 shell 下的 cd
        参数:dirname 是一个字符串,表示路径名
        返回值:None

    os.mkdir(dirname)
        功能:创建单级目录,相当于 shell 中 mkdir dirname
        参数:dirname 是一个字符串,表示目录名
        返回值:None

    os.makedirs(name [, mode=0o777][, exist_ok=False]
        功能:生成多层递归目录
        参数:name是一个字符串,表示多层目录
        返回值:None
        举例:makedirs('dirname1/dirname2') # 表示在当前工作目录创建一个名为 dirname1 的文件,并在 dirname1 文件内创建 dirname2 文件

    os.rmdir(dirname)
        功能:删除单级空目录,若目录不为空则抛出异常;相当于shell中rmdir dirname
        参数:dirname 是一个字符串,表示目录名
        返回值:None

    os.removedirs(name)
        功能:若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推,若不为空,则抛出异常
        参数:name 是一个字符串,表示目录名
        返回值:None

    os.rename(name_old, name_new)
        功能:重命名文件
        参数:name_old 表示要重命名的文件目录,name_new 表示新名字
        返回值:None
        说明:默认 name_old 和 name_new 在当前工作目录,如果需要重命名其他目录的文件,则两个参数都需要包含路径名

    os.remove(path) # 在测试时不知道为啥一直拒绝访问,望知者告之
        功能:删除一个文件
        参数:path 是一个字符串,表示文件名或路径
        返回值:None

    os.listdir(dirname)
        功能:返回一个列表,包含指定目录下的所有文件和子目录,包括隐藏文件
        参数:dirname 是一个字符串,表示目录名
        返回值:一个列表

    os.stat(dirname)
        功能:获取文件/目录信息
        参数:dirname 可以是字符串,字节,打开的文件描述符等,它表示文件/目录
        返回值:一个 os.stat_result 类型对象

    os.system(command)
        功能:运行shell命令,直接显示
        参数:command 表示命令语句
        返回值:一个整数

os.path 模块

PS:以下所有函数的参数除了说明的类型之外,还可以接受字节类型的参数,如果返回路径或文件名,则返回值和参数是相同类型的对象。3.6版本之后,部分函数可接受类似 os.PathLike 类型的对象(os.PathLike 是用于实现文件系统路径协议的抽象基类)

 	 os.path.abspath(path)
        功能:返回路径名 path 的标准化绝对路径
        参数:path 是一个字符串,表示文件或路径名
        返回值:一个字符串,表示 path 的标准化绝对路径
        
     os.path.split(path)
          功能:将文件路径和文件名分割(会将最后一个目录作为文件名而分离)
          参数:path 是一个字符串,表示路径
          返回值:一个二元组,分别是分割后的路径个文件名
          
      os.path.basename(path)
          功能:返回 path 的文件名部分
          参数:path 是一个字符串或路径对象,表示一个路径
          返回值:路径最后的文件名
          
      os.path.dirname(path)
          功能:返回 path 的目录部分
          参数:path 是一个字符串,表示路径名
          返回值:一个字符串
      
      os.path.commonpath(paths)
          功能:给定一系列路径名,返回最长的公共子路径
          参数:paths 是一个序列,包含多个路径,若多个路径都没有公共子路径会抛出异常
          返回值:一个字符串,表示公共子路径
      
      os.path.commonprefix(list)
          功能:返回 list 中,所有路径共有的最长的前缀路径
          参数:list 是一个包含多个路径的列表
          返回值:若列表为空,则返回空字符串,否则返回最长前缀路径(由于是一个字符一个字符的返回,故返回的可能是无效的路径)
          
      os.path.exists(path)
          功能:判断路径是否存在,对于断开的符号链接返回 False
          参数:path 是一个字符串,表示路径名
          返回值:如果 path 存在,返回 True;如果 path 不存在,返回 False
          
      os.path.lexists(path)
          功能:判断路径是否存在,对于断开的符号链接返回 True
          参数:path 是一个字符串,表示路径名
          返回值:如果 path 存在,返回 True;如果 path 不存在,返回 False
          
      os.path.isabs(path)
          功能:判断 path 是否是绝对路径
          参数:path 是一个字符串,表示路径名
          返回值:是则返回 True,否则返回 False
      
      os.path.isfile(path)
          功能:判断文件 path 是否存在
          参数:path 是一个字符串,表示文件名
          返回值:是则返回 True,否则返回 False
      
      os.path.isdir(path)
          功能:判断目录 path 是否存在
          参数:path 是一个字符串,表示目录名
          返回值:是则返回 True,否则返回 False
          
      os.path.getatime(path)
          功能:返回path所指向的文件或者目录的最后访问时间
          参数:path 是一个字符串,表示文件名或路径名
          返回值:一个浮点数,表示自纪元以来的秒数
          
      os.path.getmtime(path)
          功能:返回 path 所指向的文件或者目录的最后修改时间
          参数:path 是一个字符串,表示文件名或路径名
          返回值:一个浮点数,表示自纪元以来的秒数
          
      os.path.getctime(path) 
          功能:windows:返回文件创建时间;unix:返回最后一次元数据更改的时间
          参数:path 表示文件名
          返回值:一个浮点数,表示自纪元以来的秒数
      
      os.path.getsize(path)
          功能:返回 path 的大小
          参数:path 是一个字符串,表示文件名或路径名
          返回值:一个整数,表示 path 的大小
      
      os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
          功能:将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
          参数:path1、path2...是多个字符串,表示路径名
          返回值:一个字符串,表示组合后的路径
          
      os.path.islink(path)
          功能:判断 path 是否是符号链接    
          参数:path 表示路径
          返回值:是返回 True,否则返回 False,对于6.0之前的 Windows,始终返回 False
      
      os.path.normcase(path)
          功能:规范路径名的大小写,在Windows上,将路径名中的所有字符都转换为小写,并将正斜杠转换为反斜杠。在其他操作系统上,返回路径不变
          参数:path 是一个字符串,表示路径名
          返回值:一个字符串,表示规范后的路径
      
      os.path.realpath(path)
          功能:返回 path 的规范路径
          参数:path 一个字符串,表示文件或路径名
          返回值:一个字符串,表示规范路径
      
      os.path.relpath(path[, start])
          功能:从当前目录或可选的起始目录返回到 path 的相对文件路径
          参数:path 是一个字符串,表示文件或路径,start 是一个字符串,表示起始目录,默认为 None,表示当前工作目录
          返回值:一个字符串,表示相对路径
          
      os.path.samefile(path1, path2)
          功能:判断 path1 和 path2 是否是相同文件或目录
          参数:path1 和 path2 都是字符串,表示文件或目录名
          返回值:是则返回 True,否则返回 False
      
      os.path.sameopenfile(fp1, fp2)
          功能:判断文件描述符fp1和fp2是否指向同一文件
          参数:fp1 和 fp2 表示文件描述符
          返回值:是则返回 True,否则返回 False手册

关于 os 模块和 os.path 模块更多更详细的内容,请参考 Python 文档 osos.path

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值