Python os模块常用路径与文件操作详解

追风的人
追风的人
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍Python中os模块在文件与路径处理中的核心应用。涵盖当前路径获取、绝对路径转换、路径分解与组合、文件时间戳及大小查询,以及文件存在性判断。同时解析不同操作系统下的路径分隔符等常量参数,帮助开发者高效进行跨平台文件操作。

Python os模块路径与文件操作指南

本文通过具体示例展示Python中os模块的基础用法,供读者参考学习。

示例中涉及的目录结构如下所示:


In [36]: pwd
Out[36]: '/home/python/Desktop/code'
In [37]: ls
hello.py hello.txt test.py 文件夹01/ 文件夹02/ 文件夹03/

获取当前路径与列出文件

1. 获取当前路径及列出目录下文件

os.getcwd():用于获取当前工作目录的路径。

os.listdir(path):列出指定目录下的所有文件和子目录,返回结果为列表类型。


In [1]: import os
In [2]: os.getcwd()
Out[2]: '/home/python/Desktop/code'
In [3]: os.listdir(os.getcwd())
Out[3]: ['文件夹01', '文件夹03', '文件夹02', 'test.py', '.idea', 'hello.txt', 'hello.py']

处理绝对路径

2. 获取绝对路径

os.path.abspath(path):返回指定路径的绝对路径字符串。


In [4]: os.path.abspath('.')
Out[4]: '/home/python/Desktop/code'
In [5]: os.path.abspath('..')
Out[5]: '/home/python/Desktop'

分解与组合路径

3. 分离路径中的文件夹与文件名

os.path.split(path):将路径字符串拆分为(文件夹路径, 文件名)的元组。若路径字符串以分隔符结尾,则返回的文件夹部分包含该路径而文件名为空;若路径中不含分隔符,则文件夹部分为空,返回整个路径作为文件名;若路径包含分隔符且不在末尾,则分别返回文件夹和文件名,且返回的文件夹结果不包含末尾的分隔符。


In [6]: os.path.split('.')
Out[6]: ('', '.')
In [7]: os.path.split('/home')
Out[7]: ('/', 'home')
In [8]: os.path.split('/home/Desktop')
Out[8]: ('/home', 'Desktop')
In [9]: os.path.split('/home/Desktop/code')
Out[9]: ('/home/Desktop', 'code')
In [10]: os.path.split('/home/Desktop/code/')
Out[10]: ('/home/Desktop/code', '')

os.path.join(path1, path2, ...):将多个路径字符串组合成一个完整路径。若组合过程中遇到绝对路径,则之前的相对路径部分将被丢弃。


In [12]: os.path.join('/home', 'Desktop')
Out[12]: '/home/Desktop'
In [13]: os.path.join('/home/Desktop', 'code')
Out[13]: '/home/Desktop/code'

os.path.dirname(path):返回路径字符串中的文件夹部分,结果不包含末尾的分隔符。


In [14]: os.path.dirname(os.getcwd())
Out[14]: '/home/python/Desktop'

os.path.basename(path):返回路径字符串中的文件名部分。


In [15]: os.path.basename(os.getcwd())
Out[15]: 'code'
In [16]: os.path.basename('.')
Out[16]: '.'
In [17]: os.path.basename('/home/Desktop/code')
Out[17]: 'code'
In [18]: os.path.basename('/home/Desktop/code/')
Out[18]: ''
In [19]: os.path.basename('/home/Desktop/code/hello.txt')
Out[19]: 'hello.txt'

查询文件时间属性

4. 获取文件时间属性

os.path.getmtime(path):返回文件或文件夹的最后修改时间,单位为从新纪元(Epoch)到访问时的秒数。


In [20]: os.path.getmtime(os.getcwd())
Out[20]: 1503292529.869008

os.path.getatime(path):返回文件或文件夹的最后访问时间,单位为从新纪元到访问时的秒数。


In [21]: os.path.getatime(os.getcwd())
Out[21]: 1503292529.8930087

os.path.getctime(path):返回文件或文件夹的创建时间,单位为从新纪元到访问时的秒数。


In [22]: os.path.getctime(os.getcwd())
Out[22]: 1503292529.869008

获取文件大小与存在性判断

5. 获取文件大小

os.path.getsize(path):返回文件或文件夹的大小(字节数)。


In [25]: os.getcwd()
Out[25]: '/home/python/Desktop/code'
In [26]: os.path.getsize('/home/python/Desktop/code')
Out[26]: 4096
In [28]: os.path.getsize('/home/python/Desktop/code/hello.txt')
Out[28]: 61

6. 判断文件是否存在

os.path.exists(path):检查文件或文件夹是否存在,若存在返回True,否则返回False。


In [29]: os.path.exists('/home/python/Desktop/code/hello.txt')
Out[29]: True
In [30]: os.path.exists('/home/python/Desktop/code/hehe.txt')
Out[30]: False

跨平台路径常量参数

7. 跨平台路径表现形式参数

os模块定义了一系列用于处理不同操作系统中文件路径表现形式的常量参数,例如:


In [31]: os.sep
Out[31]: '/'
In [32]: os.extsep
Out[32]: '.'
In [33]: os.linesep
Out[33]: '\n'
In [34]: os.pathsep
Out[34]: ':'

更多关于Python文件与目录操作的内容,可参考本站《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》等专题。

希望本文所述内容能对您的Python编程实践有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表