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 client使用http post 到server端的代码
Feb 10 Python
理解Python中函数的参数
Apr 27 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
python匹配两个短语之间的字符实例
Dec 25 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
Aug 31 Python
安装2019Pycharm最新版本的教程详解
Oct 22 Python
python实现图像拼接
Mar 05 Python
基于python SMTP实现自动发送邮件教程解析
Jun 02 Python
Python 实现简单的客户端认证
Jul 29 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 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中使用Oracle数据库(1)
2006/10/09 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
PHP内核探索:变量概述
2014/01/30 PHP
取得单条网站评论以数组形式进行输出
2014/07/28 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
Ajax执行顺序流程及回调问题分析
2012/12/10 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
详解vue-cil和webpack中本地静态图片的路径问题解决方案
2017/09/27 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
实例讲解React 组件
2020/07/07 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
Python调用C语言的实现
2019/07/26 Python
python 三元运算符使用解析
2019/09/16 Python
Python3基于print打印带颜色字符串
2020/07/06 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
战友聚会邀请函
2014/01/18 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
异地年检委托书范本
2014/09/24 职场文书
查摆问题整改措施
2014/10/24 职场文书
2016新年感言
2015/08/03 职场文书
阳光体育运动标语口号
2015/12/26 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
python的列表生成式,生成器和generator对象你了解吗
2022/03/16 Python
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL