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数据结构中字典的心得
Dec 04 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
详解TensorFlow在windows上安装与简单示例
Mar 05 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
python动态文本进度条的实例代码
Jan 22 Python
TensorFlow2.0矩阵与向量的加减乘实例
Feb 07 Python
python 使用cx-freeze打包程序的实现
Mar 14 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
Python配置pip国内镜像源的实现
Aug 20 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进程之间实现共享内存的方法
2014/06/13 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
Javascript 制作图形验证码实例详解
2016/12/22 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
Bootstrap实现下拉菜单多级联动
2017/11/23 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
在vue中使用console.log无效的解决
2020/08/09 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
python文件操作整理汇总
2014/10/21 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
python 容器总结整理
2017/04/04 Python
Python读写docx文件的方法
2018/05/08 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
使用Python 统计高频字数的方法
2019/01/31 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
python单例设计模式实现解析
2020/01/07 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
教师应聘个人求职信
2013/12/10 职场文书
企业元宵节主持词
2014/03/25 职场文书
社区禁毒工作方案
2014/06/02 职场文书
财务会计实训报告
2014/11/05 职场文书