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统计文本字符串里单词出现频率的方法
May 26 Python
python实现mysql的单引号字符串过滤方法
Nov 14 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
python3中int(整型)的使用教程
Mar 23 Python
用Python将结果保存为xlsx的方法
Jan 28 Python
Django实现发送邮件找回密码功能
Aug 12 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
Python爬取网页信息的示例
Sep 24 Python
python实现计算器简易版
Dec 17 Python
Python数据模型与Python对象模型的相关总结
Jan 26 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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
PHP中error_log()函数的使用方法
2015/01/20 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
浅析Js中的单引号与双引号问题
2013/11/06 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python实现简单登录验证
2016/04/13 Python
python算法题 链表反转详解
2019/07/02 Python
Python实现基于socket的udp传输与接收功能详解
2019/11/15 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python re模块常见用法例举
2021/03/01 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
应用电子专业学生的自我评价
2013/10/16 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
师德培训心得体会2016
2016/01/09 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL