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 相关文章推荐
pyramid配置session的方法教程
Nov 27 Python
python批量提取word内信息
Aug 09 Python
Python虚拟环境项目实例
Nov 20 Python
Python3实现的字典、列表和json对象互转功能示例
May 22 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
对Pyhon实现静态变量全局变量的方法详解
Jan 11 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
Django页面数据的缓存与使用的具体方法
Apr 23 Python
python 求10个数的平均数实例
Dec 16 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 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 include,include_once,require,require_once
2008/09/05 PHP
php实现的验证码文件类实例
2015/06/18 PHP
thinkPHP实现的省市区三级联动功能示例
2017/05/05 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
基于jquery的商品展示放大镜
2010/08/07 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
JavaScript数组和对象的复制
2017/03/21 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
three.js 将图片马赛克化的示例代码
2020/07/31 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[56:58]VP vs Optic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python类装饰器实现方法详解
2018/12/21 Python
python检测IP地址变化并触发事件
2018/12/26 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
儿科护士实习自我鉴定
2013/10/17 职场文书
校长就职演讲稿
2014/01/06 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
售房协议书
2014/08/19 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
小学家长意见怎么写
2015/06/03 职场文书
护士岗位竞聘书
2015/09/15 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
python字符串的一些常见实用操作
2022/04/06 Python
Java Spring Lifecycle的使用
2022/05/06 Java/Android