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 相关文章推荐
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
Python实现代码统计工具(终极篇)
Jul 04 Python
python学习教程之使用py2exe打包
Sep 24 Python
python用户评论标签匹配的解决方法
May 31 Python
在python中bool函数的取值方法
Nov 01 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python对接 xray 和微信实现自动告警
Sep 17 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
Python 脚本的三种执行方式小结
Dec 21 Python
Django 解决由save方法引发的错误
May 21 Python
详解Python内置模块Collections
Mar 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
php curl基本操作详解
2013/07/23 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
JavaScript函数、方法、对象代码
2008/10/29 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
找出字符串中出现次数最多的字母和出现次数精简版
2012/11/07 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
python实现清屏的方法
2015/04/30 Python
微信跳一跳自动运行python脚本
2018/01/08 Python
pytorch 数据集图片显示方法
2018/07/26 Python
Django如何自定义分页
2018/09/25 Python
python3 爬取图片的实例代码
2018/11/06 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
基于torch.where和布尔索引的速度比较
2020/01/02 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
传媒专业推荐信范文
2013/11/23 职场文书
老公给老婆的道歉信
2014/01/10 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
法制教育主题班会
2015/08/13 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python
HTML+VUE分页实现炫酷物联网大屏功能
2021/05/27 Vue.js