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 sqlobject(mysql)中文乱码解决方法
Nov 14 Python
python返回昨天日期的方法
May 13 Python
python使用wxpython开发简单记事本的方法
May 20 Python
在python的类中动态添加属性与生成对象
Sep 17 Python
解决Python的str强转int时遇到的问题
Apr 09 Python
Python定义函数功能与用法实例详解
Apr 08 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
Python 实现PS滤镜中的径向模糊特效
Dec 03 Python
如何用 Python 制作一个迷宫游戏
Feb 25 Python
python上下文管理的使用场景实例讲解
Mar 03 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
PHP5 面向对象程序设计
2008/02/13 PHP
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
网站用php实现paypal整合方法
2010/11/28 PHP
php获取操作系统语言代码
2013/11/04 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
jquery提升性能最佳实践小结
2010/12/06 Javascript
IE图片缓存document.execCommand("BackgroundImageCache",false,true)
2011/03/01 Javascript
js常用代码段收集
2011/10/28 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
jQuery简单获取DIV和A标签元素位置的方法
2017/02/07 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
微信小程序 ecshop地址三级联动实现实例代码
2017/02/28 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
搞笑的程序猿:看看你是哪种Python程序员
2015/06/12 Python
Python探索之pLSA实现代码
2017/10/25 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
我的动漫时代的创业计划书范文
2014/01/27 职场文书
爱我中华教学反思
2014/04/28 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
学前班语言教学计划
2015/01/20 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
MySQL提取JSON字段数据实现查询
2022/04/22 MySQL
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL