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爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
python如何通过实例方法名字调用方法
Mar 21 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
pandas去重复行并分类汇总的实现方法
Jan 29 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
Python实战之制作天气查询软件
May 14 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
Django中Middleware中的函数详解
Jul 18 Python
Django REST framework 如何实现内置访问频率控制
Jul 23 Python
如何使用selenium和requests组合实现登录页面
Feb 03 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
Python基于httpx模块实现发送请求
Jul 07 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
如何将数据从文本导入到mysql
2006/10/09 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
密码强度检测效果实现原理与代码
2013/01/04 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
js 作用域和变量详解
2017/02/16 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
详解在React里使用"Vuex"
2018/04/02 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
Python实现使用dir获取类的方法列表
2019/12/24 Python
详解python tkinter模块安装过程
2020/01/06 Python
logging level级别介绍
2020/02/21 Python
python 6行代码制作月历生成器
2020/09/18 Python
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
初一生物教学反思
2014/01/18 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
暑期学习心得体会
2014/09/02 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
付款委托书范本
2014/10/05 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
担保书怎么写 ?
2019/04/22 职场文书
python如何正确使用yield
2021/05/21 Python
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS