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选择排序算法实例总结
Jul 01 Python
Python工程师面试题 与Python Web相关
Jan 14 Python
Saltstack快速入门简单汇总
Mar 01 Python
Django在win10下的安装并创建工程
Nov 20 Python
Python时间戳使用和相互转换详解
Dec 11 Python
python语音识别实践之百度语音API
Aug 30 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
python 定义n个变量方法 (变量声明自动化)
Nov 10 Python
python实现的生成word文档功能示例
Aug 23 Python
Django中自定义查询对象的具体使用
Oct 13 Python
python3 实现函数写文件路径的正确方法
Nov 27 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 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
浅析get与post的一些特殊情况
2014/07/28 PHP
php生成过去100年下拉列表的方法
2015/07/20 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP的PDO连接讲解
2019/01/24 PHP
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
2013/08/07 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
spirngmvc js传递复杂json参数到controller的实例
2018/03/29 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
Bluebella美国官网:英国性感内衣品牌
2018/10/04 全球购物
自我鉴定200字
2013/10/28 职场文书
计算机求职信
2013/12/01 职场文书
高二政治教学反思
2014/02/01 职场文书
教师学习培训邀请函
2014/02/04 职场文书
申论倡议书范文
2014/05/13 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
志愿者事迹材料
2014/12/26 职场文书
2015年民兵整组工作总结
2015/07/24 职场文书
MongoDB支持的索引类型
2022/04/11 MongoDB