Python os库常用操作代码汇总


Posted in Python onNovember 03, 2020

Python自动的os库是和操作系统交互的库,常用的操作包括文件/目录操作,路径操作,环境变量操作和执行系统命令等。

文件/目录操作

  • 获取当前目录(pwd): os.getcwd()
  • 切换目录(cd): os.chdir('/usr/local/')
  • 列出目录所有文件(ls):os.listdir('/usr/local/')
  • 创建目录(mkdir):os.makedirs('/usr/local/tmp')
  • 删除目录(rmdir):os.removedirs('/usr/local/tmp') # 只能删除空目录,递归删除可以使用import shutil;shutil.rmtree('/usr/local/tmp')
  • 删除文件(rm):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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python命令行参数解析模块getopt使用实例
Apr 13 Python
Django admin实现图书管理系统菜鸟级教程完整实例
Dec 12 Python
python中的常量和变量代码详解
Jul 25 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
django解决订单并发问题【推荐】
Jul 31 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
8种常用的Python工具
Aug 05 Python
python实现canny边缘检测
Sep 14 Python
python修改微信和支付宝步数的示例代码
Oct 12 Python
Spy++的使用方法及下载教程
Jan 29 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 #Python
python import 上级目录的导入
Nov 03 #Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 #Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 #Python
python中not、and和or的优先级与详细用法介绍
Nov 03 #Python
如何基于Python按行合并两个txt
Nov 03 #Python
Python txt文件如何转换成字典
Nov 03 #Python
You might like
php PDO中文乱码解决办法
2009/07/20 PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
2010/02/16 PHP
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
jQuery 表格工具集
2010/04/25 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
2019/02/11 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
transform python环境快速配置方法
2018/09/27 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
建筑工程技术应届生求职信
2013/11/17 职场文书
市场营销专科应届生求职信
2013/11/24 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
小学校园活动策划
2014/01/30 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
创业计划书之熟食店
2019/10/16 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android