10.1. os.path-常用路径名操作

该模块在路径名上实现了一些有用的Function。要读取或写入文件,请参见open(),要访问文件系统,请参见os模块。

Note

在 Windows 上,其中许多Function均不能正确支持 UNC 路径名。 splitunc()ismount()处理正确。

与 unix shell 不同,Python 不执行任何“自动”路径扩展。当应用程序需要类 Shell 路径扩展时,可以显式调用诸如expanduser()expandvars()之类的Function。 (另请参见glob模块。)

Note

由于不同的 os 具有不同的路径名约定,因此标准库中有该模块的多个版本。 os.path模块始终是适用于运行 Python 的 os 的路径模块,因此可用于本地路径。但是,如果您要操纵的路径始终(以不同格式之一),也可以导入和使用各个模块。它们都有相同的接口:

  • posixpath用于 UNIX 样式的路径

  • ntpath用于 Windows 路径

  • macpath用于旧式 MacOS 路径

  • os2emxpath用于 OS/2 EMX 路径

版本 1.5.2 中的新Function。

2.4 版的新Function。

在 Unix 上,如果设置了初始变量~,则将其设置为环境变量 HOME;否则,pass内置模块pwd在密码目录中查找当前用户的主目录。直接在密码目录中查找首字母~user

在 Windows 上,如果已设置,则将使用 HOME USERPROFILE,否则将使用 HOMEPATH HOMEDRIVE的组合。初始~user是pass从上面派生的创建的用户路径中删除最后一个目录组件来处理的。

如果扩展失败,或者路径不是以波浪号开头,则路径将保持不变。

在 Windows 上,除了$name${name}之外,还支持%name%扩展。

版本 1.5.2 中的新Function。

在版本 2.3 中更改:如果os.stat_float_times()返回True,则结果为浮点数。

版本 1.5.2 中的新Function。

在版本 2.3 中更改:如果os.stat_float_times()返回True,则结果为浮点数。

2.3 版的新Function。

版本 1.5.2 中的新Function。

在 Windows 上,当遇到绝对路径成分(例如r'\foo')时,不会重置驱动器号。如果某个组件包含驱动器号,则会丢弃所有先前的组件,并重置驱动器号。请注意,由于每个驱动器都有一个当前目录,因此os.path.join("c:", "foo")表示相对于驱动器C:(c:foo)而不是c:\foo上的当前目录的路径。

2.2 版中的新Function。

开始默认为os.curdir

可用性:Windows,Unix。

2.6 版的新Function。

Availability: Unix.

Availability: Unix.

Availability: Unix.

1.3 版的新Function。

在 2.6 版中进行了更改:当唯一的句点是第一个字符时,较早的版本可能会产生空的根。

Availability: Windows.

Note

目录的符号链接不会被视为子目录,因此walk()不会访问它们。要访问链接的目录,必须用os.path.islink(file)os.path.isdir(file)标识它们,并根据需要调用walk()

Note

不推荐使用此函数,在 Python 3 中已删除该函数,而推荐使用os.walk()

2.3 版的新Function。

首页