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

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

本文汇总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 相关产品和应用

全部下载

专题列表