Python中常用的os操作汇总


Posted in Python onNovember 05, 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

作者: 韩志超

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

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

Python中常用的os操作汇总

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

Python 相关文章推荐
Python正则表达式匹配ip地址实例
Oct 09 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
Python 创建空的list,以及append用法讲解
May 04 Python
flask-restful使用总结
Dec 04 Python
5分钟 Pipenv 上手指南
Dec 20 Python
Python根据服务获取端口号的方法
Sep 25 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
Dec 09 Python
Python实现非正太分布的异常值检测方式
Dec 09 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
使用python实现名片管理系统
Jun 18 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 #Python
Python实现异步IO的示例
Nov 05 #Python
Python requests HTTP验证登录实现流程
Nov 05 #Python
Python包资源下载路径报404解决方案
Nov 05 #Python
如何一键升级Python所有包
Nov 05 #Python
python实现磁盘日志清理的示例
Nov 05 #Python
Python常用外部指令执行代码实例
Nov 05 #Python
You might like
DC的38部超级英雄动画电影
2020/03/03 欧美动漫
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
javascript 建设银行登陆键盘
2008/06/10 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
python logging日志模块的详解
2017/10/29 Python
django开发post接口简单案例,获取参数值的方法
2018/12/11 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
如何把python项目部署到linux服务器
2020/08/26 Python
Python实现简单猜数字游戏
2021/02/03 Python
英国二手物品交易网站:Preloved
2017/10/06 全球购物
EJB的基本架构
2016/09/22 面试题
24岁生日感言
2014/01/13 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
社区食品安全实施方案
2014/03/28 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers