python标准库(3.7版本)os.path

常用功能

os.path.basename() #去掉目录路径,返回文件名
os.path.dirname() #去掉文件名,返回目录路径
os.path.join() #将分离的各部分组合成一个路径名
os.path.split() #返回(dirname(),basename())元组
os.path.splitext() #返回filename,extension)元组
os.path.getatime\ctime\mtime #分别返回最近访问、创建、修改时间
os.path.getsize() #返回文件大小
os.path.exists() #是否存在
os.path.isabs() #是否为绝对路径
os.path.isdir() #是否为目录
os.path.isfile() #是否为文件

全部功能

  • 获得路径

os.path.abspath(path) #返回绝对路径(标准化的)

os.path.basename(path) #返回该路径文件的名称。

os.path.commonpath(paths) #返回序列 paths 中每个路径名称的最长共同子路径。 如果 paths 同时包含绝对和相对路径名称或者如果 paths 为空则会引发 ValueError

os.path.commonprefix(list) #接受包含多个路径的列表,返回所有路径的最长公共前缀(逐字符比较,结果不一定有效)。如果 列表 为空,则返回空字符串 (’’)。

os.path.dirname(path)# 返回父目录

os.path.realpath(path) # 返回指定文件的规范路径,消除路径中存在的任何符号链接(如果操作系统支持)。

  • 判断路径存在

os.path.exists(path)#如果 path 指向一个已存在的路径或已打开的文件描述符,返回 True。对于失效的符号链接,返回 False。

os.path.lexists(path)#如果 path 指向一个已存在的路径,返回 True。对于失效的符号链接,返回 False。

  • 路径拼接

os.path.join(path, *paths)#合理地拼接一个或多个路径部分。返回值是 path 和 *paths 所有值的连接,每个非空部分后面都紧跟一个目录分隔符 (os.sep),除了最后一部分。这意味着如果最后一部分为空,则结果将以分隔符结尾。如果参数中某个部分是绝对路径,则绝对路径前的路径都将被丢弃,并从绝对路径部分开始连接。

  • 替换路径

os.path.expanduser(path) #在 Unix 和 Windows 上,将参数中开头部分的 ~ 或 ~user 替换为当前 用户 的家目录并返回。

os.path.expandvars(path)#输入带有环境变量的路径作为参数,返回展开变量以后的路径。$name 或 ${name} 形式的子字符串被环境变量 name 的值替换。格式错误的变量名称和对不存在变量的引用保持不变。

  • 时间

os.path.getatime(path)#返回 path 的最后访问时间。返回值是一个浮点数,为纪元秒数(参见 time 模块)。如果该文件不存在或不可访问,则抛出 OSError 异常。

os.path.getmtime(path)#返回 path 的最后修改时间。返回值是一个浮点数,为纪元秒数(参见 time 模块)。如果该文件不存在或不可访问,则抛出 OSError 异常。

os.path.getctime(path)#返回 path 在系统中的 ctime,在有些系统(比如 Unix)上,它是元数据的最后修改时间,其他系统(比如 Windows)上,它是 path 的创建时间。返回值是一个数,为纪元秒数(参见 time 模块)。如果该文件不存在或不可访问,则抛出 OSError 异常。

  • 文件大小

os.path.getsize(path)#返回文件的大小,以字节为单位。如果该文件不存在或不可访问,则抛出 OSError 异常。
要是参数path是文件夹的话,结果是文件夹的大小,一般应该都是4096,不包括里面放的文件。

  • 比较路径

os.path.samefile(path1, path2)#如果两个路径都指向相同的文件或目录,则返回 True。这由设备号和 inode 号确定,在任一路径上调用 os.stat() 失败则抛出异常。
可用性: Unix, Windows。

os.path.sameopenfile(fp1, fp2)#如果文件描述符 fp1 和 fp2 指向相同文件,则返回 True。(ps:文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。)
可用性: Unix, Windows。

os.path.samestat(stat1, stat2)# 如果 stat 元组 stat1 和 stat2 指向相同文件,则返回 True。这些 stat 元组可能是由 os.fstat()、os.lstat() 或 os.stat() 返回的。本函数实现了 samefile() 和 sameopenfile() 底层所使用的比较过程。
可用性: Unix, Windows。

  • 拆分路径

os.path.split(path) # 将路径 path 拆分为一对,即 (head, tail),其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容。tail 部分不会包含斜杠,如果 path 以斜杠结尾,则 tail 将为空。如果 path 中没有斜杠,head 将为空。如果 path 为空,则 head 和 tail 均为空。head 末尾的斜杠会被去掉,除非它是根目录(即它仅包含一个或多个斜杠)。
#在所有情况下,join(head, tail) 指向的位置都与 path 相同(但字符串可能不同)。另请参见函数 dirname() 和 basename()。

os.path.splitdrive(path) # 将路径 path 拆分为一对,即 (drive, tail),其中 drive 是挂载点或空字符串。在没有驱动器概念的系统上,drive 将始终为空字符串。在所有情况下,drive + tail 都与 path 相同。 在 Windows 上,本方法将路径拆分为驱动器/UNC 根节点和相对路径。如果路径 path 包含盘符,则 drive 将包含冒号及冒号前面的所有内容。例如 splitdrive(“c:/dir”) 返回 (“c:”, “/dir”)。 如果 path 是一个 UNC 路径,则 drive 将包含主机名和共享点,但不包括第四个分隔符。例如 splitdrive("//host/computer/dir") 返回 ("//host/computer", “/dir”)。

os.path.splitext(path)# 将路径 path 拆分为一对,即 (root, ext),使 root + ext == path,其中 ext 为空或以英文句点开头,且最多包含一个句点。路径前的句点将被忽略,例如 splitext(’.cshrc’) 返回 (’.cshrc’, ‘’)。

  • 其他用法

os.path.isabs(path)#如果 path 是一个绝对路径,则返回 True。在 Unix 上,它就是以斜杠开头,而在 Windows 上,它可以是去掉驱动器号后以斜杠(或反斜杠)开头。

os.path.isfile(path)#如果 path 是 现有的 常规文件,则返回 True。本方法会跟踪符号链接,因此,对于同一路径,islink() 和 isfile() 都可能为 True。

os.path.isdir(path)#如果 path 是 现有的 目录,则返回 True。本方法会跟踪符号链接,因此,对于同一路径,islink() 和 isdir() 都可能为 True。

os.path.islink(path)#如果 path 指向的 现有 目录条目是一个符号链接,则返回 True。如果 Python 运行时不支持符号链接,则总是返回 False。

os.path.ismount(path)#如果路径 path 是 挂载点(文件系统中挂载其他文件系统的点),则返回 ``True。在 POSIX 上,该函数检查 path 的父目录 path/… 是否在与 path 不同的设备上,或者 path/… 和 path 是否指向同一设备上的同一 inode(这一检测挂载点的方法适用于所有 Unix 和 POSIX 变体)。本方法不能可靠地检测同一文件系统上的绑定挂载 (bind mount)。在 Windows 上,盘符和共享 UNC 始终是挂载点,对于任何其他路径,将调用 GetVolumePathName 来查看它是否与输入的路径不同。

os.path.normcase(path)# 规范路径名称的大小写。 在 Windows 上,将路径名称中的所有字符转为小写,并将正斜杠转为反斜杠。 在其他操作系统上,将路径不加修改地返回。 如果 path 的类型不是 str 或 bytes (直接或间接地通过 os.PathLike 接口) 则会引发 TypeError。

os.path.normpath(path) # 通过折叠多余的分隔符和对上级目录的引用来标准化路径名,所以 A//B、A/B/、A/./B 和 A/foo/…/B 都会转换成 A/B。这个字符串操作可能会改变带有符号链接的路径的含义。在 Windows 上,本方法将正斜杠转换为反斜杠。要规范大小写,请使用 normcase()。

os.path.relpath(path, start=os.curdir) # 返回从当前目录或 start 目录(可选)到达 path 之间要经过的相对路径。这仅仅是对路径的计算,不会访问文件系统来确认 path 或 start 的存在性或属性。 开始 默认为 os.curdir。可用性: Unix, Windows。

os.path.supports_unicode_filenames# 如果(在文件系统限制下)允许将任意 Unicode 字符串用作文件名,则为 True。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值