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实现ping的方法
Jul 06 Python
python实现简单点对点(p2p)聊天
Sep 13 Python
python多任务及返回值的处理方法
Jan 22 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
python添加菜单图文讲解
Jun 04 Python
Python3 实现串口两进程同时读写
Jun 12 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
如何基于Python创建目录文件夹
Dec 31 Python
python日期与时间戳的各种转换示例
Feb 12 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
Python selenium爬取微博数据代码实例
May 22 Python
Python基础数据类型tuple元组的概念与用法
Aug 02 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
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
javascript中的数字与字符串相加实例分析
2011/08/14 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
基于JSON格式数据的简单jQuery幻灯片插件(jquery-slider)
2016/08/10 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
js解决软键盘遮挡输入框的问题分享
2017/12/19 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python定义一个函数的方法
2020/06/15 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
美国汽车零部件和配件网站:CarParts
2019/03/13 全球购物
《永远的白衣战士》教学反思
2014/04/25 职场文书
股票投资建议书
2014/05/19 职场文书
母亲节演讲稿
2014/05/27 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
清洁工岗位职责
2015/02/13 职场文书
教师个人教学反思
2016/02/23 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android