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使用Flask框架获取当前查询参数的方法
Mar 21 Python
python 采集中文乱码问题的完美解决方法
Sep 27 Python
Python网络编程之TCP与UDP协议套接字用法示例
Feb 02 Python
Django自定义manage命令实例代码
Feb 11 Python
Python检测网络延迟的代码
May 15 Python
python实现矩阵打印
Mar 02 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
简单了解为什么python函数后有多个括号
Dec 19 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
Django后端按照日期查询的方法教程
Feb 28 Python
Python OpenCV实现传统图片格式与base64转换
Jun 13 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 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连接Oracle数据库
2006/10/09 PHP
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php批量上传的实现代码
2013/06/09 PHP
PHP面向对象程序设计内置标准类,普通数据类型转为对象类型示例
2019/06/12 PHP
js bind 函数 使用闭包保存执行上下文
2011/12/26 Javascript
一个基于jquery的文本框记数器
2012/09/19 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
Python之父谈Python的未来形式
2016/07/01 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
python 求定积分和不定积分示例
2019/11/20 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
大学生简历中个人的自我评价
2013/10/06 职场文书
测绘工程个人的自我评价
2013/11/23 职场文书
财务会计自荐信范文
2014/02/21 职场文书
数控专业毕业生自荐信范文
2014/03/04 职场文书
自强之星事迹材料
2014/05/12 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python