Python os库常用操作代码汇总


Posted in Python onNovember 03, 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python笔记(叁)继续学习
Oct 24 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
Python使用OpenCV进行标定
May 08 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
django 中QuerySet特性功能详解
Jul 25 Python
Django实现网页分页功能
Oct 31 Python
Pytorch实现将模型的所有参数的梯度清0
Jun 24 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
Python中npy和mat文件的保存与读取
Apr 24 Python
使用Python开发冰球小游戏
Apr 30 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 #Python
python import 上级目录的导入
Nov 03 #Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 #Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 #Python
python中not、and和or的优先级与详细用法介绍
Nov 03 #Python
如何基于Python按行合并两个txt
Nov 03 #Python
Python txt文件如何转换成字典
Nov 03 #Python
You might like
提取HTML标签
2006/10/09 PHP
用PHP的ob_start();控制您的浏览器cache!
2007/02/14 PHP
php学习之数据类型之间的转换介绍
2011/06/09 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
浅谈COOKIE和SESSION区别
2015/07/19 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
yii通过小物件生成view的方法
2016/10/08 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
基于jquery的has()方法以及与find()方法以及filter()方法的区别详解
2013/04/26 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
JavaScript中in和hasOwnProperty区别详解
2017/08/04 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
利用百度地图API获取当前位置信息的实例
2017/11/06 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
Angular+ionic实现折叠展开效果的示例代码
2020/07/29 Javascript
[01:31](回顾)杀出重围,决战TI之巅
2014/07/01 DOTA
重命名批处理python脚本
2013/04/05 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
python网络应用开发知识点浅析
2019/05/28 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
基于python监控程序是否关闭
2020/01/14 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
跑步爱好者一站式服务网站:Jack Rabbit
2016/09/01 全球购物
行政主管岗位职责
2013/11/18 职场文书
两只小狮子教学反思
2014/02/05 职场文书
消防安全标语
2014/06/07 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
观看建国大业观后感
2015/06/01 职场文书
入党转正申请书范文
2019/05/20 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS