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 open读写文件实现脚本
Sep 06 Python
Python 获取新浪微博的最新公共微博实例分享
Jul 03 Python
python实现红包裂变算法
Feb 16 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
50行Python代码实现人脸检测功能
Jan 23 Python
django主动抛出403异常的方法详解
Jan 04 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
Sep 25 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
tornado+celery的简单使用详解
Dec 21 Python
Python pandas库中的isnull()详解
Dec 26 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
如何Python使用re模块实现okenizer
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
php miniBB中文乱码问题解决方法
2008/11/25 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
2016/11/16 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
读jQuery之四(优雅的迭代)
2011/06/20 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
2016/11/03 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
理解Python中的With语句
2015/02/02 Python
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
Django验证码的生成与使用示例
2017/05/20 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python 编程速成(推荐)
2019/04/15 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
如何真正的了解python装饰器
2020/08/14 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
机械制造毕业生求职信
2014/03/03 职场文书
工作鉴定评语
2014/05/04 职场文书
学校食品安全责任书
2015/01/29 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android