Python os.path模块常见函数用法(实例+详细注释)

Python os.path模块常见函数用法(实例+详细注释)

相比 pathlib 模块,os.path 模块不仅提供了一些操作路径字符串的方法,还包含一些或者指定文件属性的一些方法,如表 1 所示。

表 1 os.path 模块常用的属性和方法

方法

说明

os.path.abspath(path)

返回 path 的绝对路径。

os.path.basename(path)

获取 path 路径的基本名称,即 path 末尾到最后一个斜杠的位置之间的字符串。

os.path.commonprefix(list)

返回 list(多个路径)中,所有 path 共有的最长的路径。

os.path.dirname(path)

返回 path 路径中的目录部分。

os.path.exists(path)

判断 path 对应的文件是否存在,如果存在,返回 True;反之,返回 False。和 lexists() 的区别在于,exists()会自动判断失效的文件链接(类似 Windows 系统中文件的快捷方式),而 lexists() 却不会。

os.path.lexists(path)

判断路径是否存在,如果存在,则返回 True;反之,返回 False。

os.path.expanduser(path)

把 path 中包含的 "~" 和 "~user" 转换成用户目录。

os.path.expandvars(path)

根据环境变量的值替换 path 中包含的 "$name" 和 "${name}"。

os.path.getatime(path)

返回 path 所指文件的最近访问时间(浮点型秒数)。

os.path.getmtime(path)

返回文件的最近修改时间(单位为秒)。

os.path.getctime(path)

返回文件的创建时间(单位为秒,自 1970 年 1 月 1 日起(又称 Unix 时间))。

os.path.getsize(path)

返回文件大小,如果文件不存在就返回错误。

os.path.isabs(path)

判断是否为绝对路径。

os.path.isfile(path)

判断路径是否为文件。

os.path.isdir(path)

判断路径是否为目录。

os.path.islink(path)

判断路径是否为链接文件(类似 Windows 系统中的快捷方式)。

os.path.ismount(path)

判断路径是否为挂载点。

os.path.join(path1[, path2[, ...]])

把目录和文件名合成一个路径。

os.path.normcase(path)

转换 path 的大小写和斜杠。

os.path.normpath(path)

规范 path 字符串形式。

os.path.realpath(path)

返回 path 的真实路径。

os.path.relpath(path[, start])

从 start 开始计算相对路径。

os.path.samefile(path1, path2)

判断目录或文件是否相同。

os.path.sameopenfile(fp1, fp2)

判断 fp1 和 fp2 是否指向同一文件。

os.path.samestat(stat1, stat2)

判断 stat1 和 stat2 是否指向同一个文件。

os.path.split(path)

把路径分割成 dirname 和 basename,返回一个元组。

os.path.splitdrive(path)

一般用在 windows 下,返回驱动器名和路径组成的元组。

os.path.splitext(path)

分割路径,返回路径名和文件扩展名的元组。

os.path.splitunc(path)

把路径分割为加载点与文件。

os.path.walk(path, visit, arg)

遍历path,进入每个目录都调用 visit 函数,visit 函数必须有 3 个参数(arg, dirname, names),dirname 表示当前目录的目录名,names 代表当前目录下的所有文件名,args 则为 walk 的第三个参数。

os.path.supports_unicode_filenames

设置是否可以将任意 Unicode 字符串用作文件名。

下面程序演示了表 1 中部分函数的功能和用法:

from os import path

# 获取绝对路径

print(path.abspath("my_file.txt"))

# 获取共同前缀

print(path.commonprefix(['C://my_file.txt', 'C://a.txt']))

# 获取共同路径

print(path.commonpath(['http://c.biancheng.net/python/', 'http://c.biancheng.net/shell/']))

# 获取目录

print(path.dirname('C://my_file.txt'))

# 判断指定目录是否存在

print(path.exists('my_file.txt'))

程序执行结果为:

C:\Users\mengma\Desktop\my_file.txt

C://

http:\c.biancheng.net

C://

True

相关推荐

蛋蛋黑是什么原因
365659

蛋蛋黑是什么原因

📅 08-27 👁️ 3537
电冰箱为什么会响?
365659

电冰箱为什么会响?

📅 09-18 👁️ 1977