Python os模块常用操作详解:文件、路径与环境变量

林舟
林舟
发布时间:2026-10-15| 5人浏览过
原创

本文汇总Python中os模块的常用功能,涵盖文件与目录的创建、删除及遍历,路径的拼接、分割与判断,环境变量的读取与设置,以及系统命令的执行方法。通过具体代码示例,帮助开发者快速掌握Python中与操作系统交互的核心操作。

Python os模块概述

Python内置的os库提供了与操作系统进行交互的功能,日常开发中常用于处理文件和目录、操作路径、管理环境变量以及执行系统命令等任务。

文件与目录操作

文件与目录的基本操作

  • 获取当前工作目录:os.getcwd()
  • 切换当前工作目录:os.chdir('/usr/local/')
  • 列出指定目录下的所有文件:os.listdir('/usr/local/')
  • 创建新目录:os.makedirs('/usr/local/tmp')
  • 删除目录:os.removedirs('/usr/local/tmp') # 注意,此方法仅能删除空目录。若需递归删除非空目录,可借助import shutil;shutil.rmtree('/usr/local/tmp')
  • 删除单个文件:os.remove('/usr/local/a.txt')
  • 递归遍历目录及其子目录:os.walk()

目录遍历示例

示例:遍历/usr/local目录及其所有子目录,打印出每个文件和目录的完整路径。


import os
for root, dirs, files in os.walk("/usr/local", topdown=False):
 for name in files:
  print('文件:', os.path.join(root, name))
 for name in dirs:
  print('目录:', os.path.join(root, name))

路径处理技巧

路径相关操作

  • 获取当前Python脚本的文件名:__file__
  • 获取文件所在目录路径:os.path.basename(__file__) # 结果不包含文件名本身
  • 获取文件的绝对路径:os.path.abspath(__file__) # 结果包含完整的文件名
  • 获取文件所在的目录路径:os.path.dirname(__file__)
  • 分割路径和文件名:os.path.split('/usr/local/a.txt') # 返回一个包含[路径, 文件名]的元组
  • 分割文件名和扩展名:os.path.splitext('a.txt') # 返回一个包含[文件名, 扩展名]的元组,例如['a', '.txt']
  • 判断指定路径是否存在:os.path.exists('/usr/local/a.txt')
  • 判断指定路径是否为文件:os.path.isfile('/usr/local/a.txt')
  • 判断指定路径是否为目录:os.path.isdir('/usr/local/a.txt')
  • 安全地组装路径:os.path.join('/usr', 'local', 'a.txt')

路径组装实战

示例:获取项目根路径及报告文件路径 假设项目目录结构如下所示。


project/
 data'
 reports/
 report.html
 testcases/
 config.py
 run.py

在run.py脚本中获取项目根路径和report.html文件的路径。


# filename: run.py
import os

base_dir = os.path.dirname(__file__) # __file__是run.py文件,os.path.dirname获取到其所在的目录project即项目根路径
report_file = os.path.join(base_dir, 'reports', 'report.html') # 使用系统路径分隔符('\')连接项目根目录base_dir和'reports'及'report.html'得到报告路径
print(report_file)

环境变量管理

环境变量操作

  • 获取环境变量:可通过os.environ.get('PATH')或os.getenv('PATH')实现。
  • 设置环境变量:例如通过os.environ['MYSQL_PWD']='123456'进行赋值。

系统命令执行

执行系统命令

执行系统命令:os.system("jmeter -n -t /usr/local/demo.jmx") # 该方法无法直接获取命令的标准输出信息。如需捕获运行时的屏幕输出,建议使用subprocess模块。

作者: 韩志超

出处:https://www.cnblogs.com/superhin/p/13880748.html

更多关于python的相关知识,请关注python客栈

以上就是Python中常用的os操作汇总的详细内容,更多关于python os操作的资料请关注本站其它相关文章!

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

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 算法库。