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入门之语句(if语句、while语句、for语句)
Jan 19 Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
python实现数独算法实例
Jun 09 Python
python算法演练_One Rule 算法(详解)
May 17 Python
Python2.X/Python3.X中urllib库区别讲解
Dec 19 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
使用Template格式化Python字符串的方法
Jan 22 Python
浅谈PYTHON 关于文件的操作
Mar 19 Python
华为2019校招笔试题之处理字符串(python版)
Jun 25 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
关于Python-faker的函数效果一览
Nov 28 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
Nov 20 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数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
js和php邮箱地址验证的实现方法
2014/01/09 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
Jquery常用技巧收集整理篇
2010/11/14 Javascript
javascript 节点排序 2
2011/01/31 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
jquery获取特定name所有选中的checkbox,支持IE9标准模式
2013/03/18 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
2018/01/11 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
2019/12/19 Javascript
零基础写python爬虫之抓取百度贴吧代码分享
2014/11/06 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
python实现12306火车票查询器
2017/04/20 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
python向字符串中添加元素的实例方法
2019/06/28 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
日本网路线上商品代购服务:转送JAPAN
2016/08/05 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
机电一体化专业应届本科生求职信
2013/09/27 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
入党积极分子个人总结
2015/03/02 职场文书
深入详解JS函数的柯里化
2021/06/09 Javascript
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS