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获取CPU和内存信息的思路与实现(linux系统)
Jan 03 Python
python自动化测试之setUp与tearDown实例
Sep 28 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
Python正则表达式匹配和提取IP地址
Jun 06 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
python topk()函数求最大和最小值实例
Apr 02 Python
如何对python的字典进行排序
Jun 19 Python
如何教少儿学习Python编程
Jul 10 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 Python
使用Python实现音频双通道分离
Dec 25 Python
python中的时区问题
Jan 14 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 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出错界面
2006/10/09 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
2017/08/14 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
2019/11/15 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
tensorflow获取变量维度信息
2018/03/10 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
python之信息加密题目详解
2019/06/26 Python
python里运用私有属性和方法总结
2019/07/08 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Python实现名片管理系统
2020/02/14 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
Python实现LR1文法的完整实例代码
2020/10/25 Python
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
市场营销专业个人自荐信格式
2013/09/21 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
爱国卫生月实施方案
2014/02/21 职场文书
行政主管职责范本
2014/03/07 职场文书
内勤岗位职责范本
2015/04/13 职场文书
幼儿园大班教师随笔
2015/08/14 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby