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中wx将图标显示在右下角的脚本代码
Mar 08 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
python多进程和多线程究竟谁更快(详解)
May 29 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
对python:print打印时加u的含义详解
Dec 15 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 Python
python日志logging模块使用方法分析
May 23 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
解决python 上传图片限制格式问题
Oct 30 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
python正则表达式re.search()的基本使用教程
May 21 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+mysql扎实个人基本功
2008/03/27 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP常见加密函数用法示例【crypt与md5】
2019/01/27 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
juqery 学习之四 筛选过滤
2010/11/30 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
简单实现js浮动框
2016/12/13 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
详谈js对url进行编码和解码(三种方式的区别)
2017/08/16 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
Python OpenCV获取视频的方法
2018/02/28 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python中的global关键字的使用方法
2019/08/20 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
Python中的__init__作用是什么
2020/06/09 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
美术教师自我鉴定
2014/02/12 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
Javascript 解构赋值详情
2021/11/17 Javascript
vue使用echarts实现折线图
2022/03/21 Vue.js