Python OS模块文件路径操作实战指南

Ivy
Ivy
发布时间:2026-10-11| 3人浏览过
原创

本文深入解析Python中os模块的核心功能,涵盖获取当前路径、列举目录、路径拆分与拼接、提取文件名与目录名、判断文件属性及获取文件大小等常用操作。通过具体代码示例,展示各函数的实际用法与返回值特征,帮助开发者高效处理文件路径相关任务。

获取当前工作目录与列举文件

在自动化测试或文件处理场景中,首先需要明确当前脚本运行的位置以及目标目录下的内容。os模块提供了获取当前工作目录和列举目录下所有文件的便捷方法。

查看当前路径

使用os.getcwd()可以获取当前脚本执行的绝对路径。这在调试或构建相对路径时非常有用。

import os
print(os.getcwd())

列举目录内容

os.listdir(path)用于列出指定目录下的所有文件和子目录,返回一个列表类型的结果。如果未指定路径,默认列出当前目录。

import os
print(os.listdir("c:\file"))

路径处理:绝对路径、拆分与拼接

路径操作是文件处理的核心。os.path子模块提供了处理路径字符串的多种工具,包括获取绝对路径、拆分路径以及拼接路径。

获取绝对路径

os.path.abspath(path)将相对路径转换为绝对路径。例如,传入.(当前目录)会返回当前工作目录的绝对路径。

import os
print(os.path.abspath("."))

拆分路径

os.path.split(path)将路径字符串拆分为“目录部分”和“文件名部分”,返回一个元组。需要注意以下细节:

  • 若路径字符串最后一个字符是\,则只有文件夹部分有值,文件名部分为空。
  • 若路径字符串中均无\,则只有文件名部分有值,文件夹部分为空。
  • 若路径字符串有\且不在最后,则文件夹和文件名都有值。
  • 返回的结果中不包含路径分隔符\。

示例代码展示了不同路径格式下的拆分结果:

import os
print(os.path.split(r"D:\python\file\hello.py"))
print(os.path.split("."))
print(os.path.split('D:\\pythontest\\ostest\\'))

拼接路径

os.path.join(path1, path2, ...)用于将多个路径字符串组合成一个完整路径。如果其中一个参数是绝对路径,则之前的所有路径参数都会被丢弃,从该绝对路径开始拼接。

import os
print(os.path.join(r"d:\python\test", 'hello.py'))
print(os.path.join(r"d:\pyhton\test\hello.py", r"d:\pyhton\test\hello2.py"))

提取目录名与文件名

除了拆分路径,还可以单独提取路径中的目录部分或文件名部分。

获取目录名

os.path.dirname(path)返回路径中的文件夹部分,返回值不包含末尾的路径分隔符。如果路径没有目录部分(如.或纯文件名),则返回空字符串。

import os
print(os.path.dirname(r"d:\pyhton\test\hello.py"))
print(os.path.dirname("."))
print(os.path.dirname(r"d:\pyhton\test\"))
print(os.path.dirname(r"d:\pyhton\test"))

获取文件名

os.path.basename(path)返回路径中的文件名部分。如果路径以分隔符结尾,则返回空字符串;如果路径没有文件名部分(如纯目录路径),则返回最后一部分目录名。

import os
print(os.path.basename(r"d:\pyhton\test\hello.py"))
print(os.path.basename("."))
print(os.path.basename(r"d:\pyhton\test\"))
print(os.path.basename(r"d:\pyhton\test"))

文件属性判断与大小获取

在实际操作中,经常需要判断文件是否存在、是文件还是目录,以及获取文件大小。

判断文件存在性

os.path.exists(path)用于判断指定路径是否存在。如果存在返回True,否则返回False。

import os
print(os.path.exists(r"d:\python\test\hello.py"))
print(os.path.exists(r"d:\python\test\hello1.py"))

判断是否为目录或文件

os.path.isdir(path)判断路径是否为目录,os.path.isfile(path)判断路径是否为文件。这两个函数常用于在操作前进行类型校验。

import os
print(os.path.isdir(r"C:\Users\zhangjiao\PycharmProjects\day01"))
print(os.path.isdir(r"C:\Users\zhangjiao\PycharmProjects\day01\hello.py"))
print(os.path.isfile(r'C:\360用户文件'))
print(os.path.isfile(r'C:\core.dmp'))

获取文件大小

os.path.getsize(path)用于获取文件的大小(字节)。需要注意的是,如果传入的是目录路径,该函数返回0。

import os
print(os.path.getsize(r"d:\pyhton\test\hello.py"))
print(os.path.getsize(r"d:\pyhton\test"))

以上就是Python OS模块在文件路径操作中的详细内容,更多关于Python文件处理与自动化测试的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。