Python3 os.path() 模块

2026-06-28 12:29:15

Python3 os.path() 模块

Python3 OS 文件/目录方法

os.path 模块是 Python 标准库中 os 模块的一部分,专门用于操作和处理文件路径。

os.path 提供了一组强大的工具来对文件和目录路径进行各种操作,例如获取文件名、判断路径是否存在、路径拼接、路径规范化等。

os.path 模块在跨平台操作系统中表现良好,使得同一段代码能够在不同操作系统(如 Windows、Linux、macOS)上运行时处理路径相关问题。

以下是 os.path 模块的几种常用方法:

路径操作

方法

描述

os.path.abspath(path)

将相对路径转换为绝对路径。

os.path.basename(path)

获取路径的最后一部分,即文件名。

os.path.dirname(path)

获取路径中的目录部分。

os.path.join(*paths)

拼接多个路径,自动处理路径分隔符。

os.path.split(path)

将路径分割为目录和文件名的元组。

os.path.splitext(path)

将路径分割为文件名和扩展名的元组。

路径信息获取

方法

描述

os.path.exists(path)

判断路径是否存在。

os.path.isfile(path)

判断路径是否为文件。

os.path.isdir(path)

判断路径是否为目录。

os.path.getsize(path)

获取文件的大小,以字节为单位。

os.path.getatime(path)

获取文件的最后访问时间。

os.path.getmtime(path)

获取文件的最后修改时间。

os.path.getctime(path)

获取文件的创建时间(在某些操作系统上表示最后状态更改时间)。

路径规范化

方法

描述

os.path.normpath(path)

规范化路径,消除冗余的分隔符和相对路径标记。

os.path.realpath(path)

获取文件的真实路径,解析符号链接。

os.path.relpath(path, start=os.curdir)

计算相对路径,从 start 到 path。

路径比较

方法

描述

os.path.commonpath(paths)

返回路径序列中的共同路径。

os.path.commonprefix(list)

返回路径序列中的最长公共前缀。

os.path.samefile(path1, path2)

判断两个路径是否指向同一个文件。

os.path.sameopenfile(fp1, fp2)

判断两个打开的文件对象是否指向同一个文件。

os.path.samestat(stat1, stat2)

判断两个文件是否拥有相同的 stat 状态。

平台依赖功能

方法

描述

os.path.splitdrive(path)

在 Windows 上,返回路径的驱动器/设备部分和路径部分的元组。

os.path.splitunc(path)

分割路径中的共享设备和路径部分(Windows 特有)。

实例

以下实例演示了 os.path 相关方法的使用:

实例

#!/usr/bin/env python

import os.path

# 当前文件名

print(__file__)

# 当前文件名的绝对路径

print( os.path.abspath(__file__) )

# 返回当前文件的路径

print(os.path.dirname( os.path.abspath(__file__) ))

以下实例输出文件的相关信息。

test.py

/runoob/runoob-test-py/test.py

/runoob/runoob-test-py

实例

#!/usr/bin/python3

import os

print( os.path.basename('/root/runoob.txt') ) # 返回文件名

print( os.path.dirname('/root/runoob.txt') ) # 返回目录路径

print( os.path.split('/root/runoob.txt') ) # 分割文件名与路径

print( os.path.join('root','test','runoob.txt') ) # 将目录和文件名合成一个路径

执行以上程序输出结果为:

runoob.txt

/root

('/root', 'runoob.txt')

root/test/runoob.txt

以下实例输出文件的相关信息。

实例

import os

import time

file='/root/runoob.txt' # 文件路径

print( os.path.getatime(file) ) # 输出最近访问时间

print( os.path.getctime(file) ) # 输出文件创建时间

print( os.path.getmtime(file) ) # 输出最近修改时间

print( time.gmtime(os.path.getmtime(file)) ) # 以struct_time形式输出最近修改时间

print( os.path.getsize(file) ) # 输出文件大小(字节为单位)

print( os.path.abspath(file) ) # 输出绝对路径

print( os.path.normpath(file) ) # 规范path字符串形式

执行以上程序输出结果为:

1539052805.5735736

1539052805.5775735

1539052805.5735736

time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0)

7

/root/runoob.txt

/root/runoob.txt

Python3 OS 文件/目录方法

Copyright © 2022 游戏活动大全网 - 全网活动一网打尽 All Rights Reserved.