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基础知识之上 ...
随机推荐
- 进阶版css点击按钮动画
1. html <div class="menu-wrap"> <input type="checkbox" class="togg ...
- CesiumJS 2022^ 原理[3] 渲染原理之从 Entity 看 DataSource 架构 - 生成 Primitive 的过程
目录 API 用法回顾 1. 为什么要从 Viewer 访问 Entity API 1.1. 高层数据模型的封装 - DataSource API 1.2. 显示管理器 DataSourceDispl ...
- netty系列之:netty中的核心MessageToMessage编码器
目录 简介 框架简介 MessageToMessageEncoder MessageToMessageDecoder MessageToMessageCodec 总结 简介 在netty中我们需要传递 ...
- 攻防世界-MISC:something_in_image
这是攻防世界高手进阶区的第四题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个文件,用010editor打开,搜索flag,即可得到flag 另外一种做法,根据题目包含image,使用ka ...
- Dockerfile 中对常用命令详解
说明 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 在Dockerfile 中命令书写对先后顺序及表示其执行对顺序,在书写时需注意. 约定 命令不 ...
- WIN10 使用POWERSHELL 设置单应用KIOSK模式(win10家庭版或企业版)
win10 使用PowerShell 设置单应用kiosk模式 win10 家版或企业版PowerShellshell 启动器 v1Autologon.exe 注意事项 win10 家庭版或企业版. ...
- 【CSAPP】Attack Lab实验笔记
attacklab这节玩的是利用一个字符串进行缓冲区溢出漏洞攻击,就小时候想象中黑客干的事儿. 做题的时候好几次感叹这些人的脑洞,"这都可以攻击?还能这么注入?这还可能借力打力?" ...
- 分享一个为Linux创建的任务管理器,看起来就像Windows的任务管理器
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 链接:https://www.linuxmi.com/sysmontask-linux-tas ...
- Masa Blazor自定义组件封装
前言 实际项目中总能遇到一个"组件"不是基础组件但是又会频繁复用的情况,在开发MASA Auth时也封装了几个组件.既有简单定义CSS样式和界面封装的组件(GroupBox),也有 ...
- 痞子衡嵌入式:浅谈i.MXRT1xxx系列MCU时钟相关功能引脚的作用
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1xxx系列MCU时钟相关功能引脚作用. 如果我们从一颗 MCU 芯片的引脚分类来看芯片功能,大概可以分为三大类:电源.时钟 ...