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实现同时兼容老版和新版Socket协议的一个简单WebSocket服务器
Jun 04 Python
快速了解Python中的装饰器
Jan 11 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
python操作excel的方法(xlsxwriter包的使用)
Jun 11 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
python 用下标截取字符串的实例
Dec 25 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
Python文件时间操作步骤代码详解
Apr 13 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
Apr 24 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中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
农历与西历对照
2006/09/06 Javascript
JavaScript prototype对象的属性说明
2010/03/13 Javascript
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
浅谈vue在html中出现{{}}的原因及解决方式
2020/11/16 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python socket实现简单聊天室
2018/04/01 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
利用简洁的图片预加载组件提升html5移动页面的用户体验
2016/03/11 HTML / CSS
会计顶岗实习心得
2014/01/25 职场文书
仓管岗位职责范本
2014/02/08 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
元旦趣味活动方案
2014/08/22 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
先进个人材料怎么写
2014/12/30 职场文书
高三语文复习计划
2015/01/19 职场文书
我们的节日元宵节活动总结
2015/02/06 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
Python如何用re模块实现简易tokenizer
2022/05/02 Python