Python教程——常用的os操作详情
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的路径
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:660193417
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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教程——常用的os操作详情的更多相关文章
- 【转】python 历险记(四)— python 中常用的 json 操作
[转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...
- python 历险记(四)— python 中常用的 json 操作
目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...
- python中常用的时间操作
python中常用的时间模块有time和datetime,以下是这两个模块中常用的方法: #先引入模块 import timefrom datetime import datetiem, timezo ...
- Python基础-常用模块OS
模块:一个python文件就是一个模块,模块分三种: 1,标准模块,也就是python自带的模块,例如import time,random,string等等 2,第三方模块,这种模块需要自己安装才能 ...
- python selenium-webdriver 常用浏览器的操作 (十)
浏览器常用的一些方法和属性其实很简单一些方法,但是却在实际测试过程中经常使用. 浏览器中加载url 方法:get(url) 实例:driver.get("http//:www.baidu.c ...
- python 历险记(三)— python 的常用文件操作
目录 前言 文件 什么是文件? 如何在 python 中打开文件? python 文件对象有哪些属性? 如何读文件? read() readline() 如何写文件? 如何操作文件和目录? 强大的 o ...
- 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)
[转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...
- python - 常用模块 os, sys
常用模块: os(处理文件和目录), sys(sys 模块包含了与 Python 解释器和它的环境有关的函数.) sys.argv 变量是一个字符串的 列表.特别地,sys.argv 包含了 命令行参 ...
- Python教程:连接数据库,对数据进行增删改查操作
各位志同道合的同仁可以点击上方关注↑↑↑↑↑↑ 本教程致力于程序员快速掌握Python语言编程. 本文章内容是基于上次课程Python教程:操作数据库,MySql的安装详解 和python基础知识之上 ...
随机推荐
- js常用框架原理
(function(){ //存储已经创建的模块 var moduleMap = {}; //判断是否已经加载过 var fileMap = {}; ...
- mmdetection训练出现nan
训练出现nan 在使用MMDetection训练模型时,发现打印信息中出现了很多nan.现象是,loss在正常训练下降的过程中,突然变为nan. 梯度裁减 在模型配置中加上grad_clip: opt ...
- 【mq】从零开始实现 mq-01-生产者、消费者启动
MQ 是什么? MQ(Message Queue)消息队列,是基础数据结构中"先进先出"的一种数据结构. 指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递--生产者产生 ...
- 如何向开源项目(Apache-InLong)提交代码
目录 1 - 认领或提交 ISSUE 2 - clone 代码,本地编译安装 3 - 代码规范 4 - 提交代码 版权声明 Apache InLong(应龙)是一个一站式海量数据集成框架, 提供自动. ...
- ServletContext类 (共享数据+获取初始化的参数+请求转发+读取资源文件)
ServletContext对象 web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的 web应用: 作用 1.共享数据 (一般用sessio ...
- Windows IDEA Community 报错
运行时报错 "CreateProcess error=206,文件名或扩展名太长" 解决方法:https://plugins.gradle.org/plugin/ua.eshepe ...
- 低代码 —— 初步认识 Appsmith
初步认识 Appsmith appsmith 是什么 appsmith 是 github 上的一个开源项目,截至此刻(20220512)有 17.7k Star. Appsmith 是一个低代码.开源 ...
- GB/T 25000.51-2016 系统与软件工程、系统与软件质量要求和评价 第51部分
中科软测认证中心(软件测评) 1.支持GB/T 25000.51的质量特性 (1)产品质量模型及特性 功能性 功能完备性 功能正确性 功能适合性 功能性的依从性 性能效率 时间特性 资源利用率 容量 ...
- 使用Husky提升你的项目规范
使用 ESLint, Prettier, Husky, Lint-staged 提升你的项目规范 本文写于 2020 年 11 月 7 日 大家应该都知道 ESLint 与 prettier,他们的用 ...
- 是时候使用 YAML 来做配置或数据文件了
概述 我们做程序,经常需要用到配置信息,回顾一下这么多年的搬砖生涯,我记得用过多种格式的文件来定义配置信息,例如 ini文件,xml文件,或者现在比较流行的 json 文件. 这些年虽然云计算和云原生 ...