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 相关文章推荐
python2.7删除文件夹和删除文件代码实例
Dec 18 Python
Python中的filter()函数的用法
Apr 27 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
Python中字典(dict)合并的四种方法总结
Aug 10 Python
python write无法写入文件的解决方法
Jan 23 Python
Python CVXOPT模块安装及使用解析
Aug 01 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
python打包成so文件过程解析
Sep 28 Python
python实现WebSocket服务端过程解析
Oct 18 Python
Python3和PyCharm安装与环境配置【图文教程】
Feb 14 Python
Django Form设置文本框为readonly操作
Jul 03 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 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
Sorting Array Values in PHP(数组排序)
2011/09/15 PHP
Laravel下生成验证码的类
2017/11/15 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
js捕获鼠标滚轮事件代码
2013/12/16 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
12步教你理解Python装饰器
2016/02/25 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
对Python中type打开文件的方式介绍
2018/04/28 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python如何访问字符串中的值
2020/02/09 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
垃圾桶标语
2014/06/24 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
个人总结怎么写
2015/02/26 职场文书