【基础】os模块

news2024/11/5 2:12:39

前言

1、os是operation system(操作系统)的缩写;os模块就是python对操作系统操作接口的封装。os模块提供了多数操作系统的功能接口函数。(OS模块提供了与操作系统进行交互的函数)

2、操作系统属于Python的标准实用程序模块。该模块提供了使用依赖于操作系统的函数的便携式方法。

3、在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),查找测试用例的Excel文件或者Yaml文件等。
在这里插入图片描述

os函数

1.当前路径及路径下的文件

os.getcwd() :查看当前所在的路径(当前脚本的上一级目录)

2.绝对路径
os.path.abspath(path) //返回当前文件位置的绝对路径
os.path.realpath(path) //返回当前文件位置的绝对路径
例如:
当前脚本所在的文件:

print(os.getcwd())
print(os.path.abspath(__file__))
print(os.path.realpath(__file__))
print(os.path.realpath('.'))
print(os.path.realpath('..'))

结果如下:

/Users/linda/Documents/PythonStudyNew/util
/Users/linda/Documents/PythonStudyNew/util/os_path.py
/Users/linda/Documents/PythonStudyNew/util/os_path.py
/Users/linda/Documents/PythonStudyNew/util
/Users/linda/Documents/PythonStudyNew

3、路径拼接

os.path.join(path1, path2, ...) :将入参的path进行组合,若其中有绝对路径,则之前的path将被删除。
 print(os.path.join(os.path.dirname(os.path.realpath(__file__)),"data.yaml"))

4.获取路径的文件夹路径部分

print(os.path.abspath(__file__))
=>/Users/linda/Documents/PythonStudyNew/util/os_path.py

print(os.path.dirname(path))//返回当前文件的目录(不包含当前文件)
=>/Users/linda/Documents/PythonStudyNew/util

5.获取路径的文件名

os.path.basename(path) //返回path中的文件名
 print(os.path.basename(os.path.realpath(__file__)))
 =》os_path.py

6.查看文件时间

 os.path.getmtime(path)  //返回文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
 os.path.getatime(path)  //返回文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
 os.path.getctime(path)  //返回文件或文件夹的创建时间,从新纪元到访问时的秒数。

7.查看文件大小

os.path.getsize(path) //返回文件的大小

8.查看文件是否存在

 os.path.exists(path)  //判断文件或者文件夹是否存在,返回True 或 False。【文件或文件夹的名字不区分大小写】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2232251.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux---cp命令

Linux cp 命令 | 菜鸟教程 (runoob.com) 命令作用: cp命令主要用于复制文件或目录 语法: cp [options] source dest cp [选项] 源文件 目标文件 source:要复制的文件或目录的名称 dest:复制后的文件或目录的名称 注意:用户使用该指令复制目录时&…

MyBatis-Plus快速入门:从安装到第一个Demo

一、前言 在现代 Java 应用程序中,数据访问层的效率与简洁性至关重要。MyBatis-Plus 作为 MyBatis 的增强工具,旨在简化常见的数据操作,提升开发效率。它提供了丰富的功能,如自动生成 SQL、条件构造器和简单易用的 CRUD 操作&…

【android12】【AHandler】【3.AHandler原理篇AHandler类方法全解】

AHandler系列 【android12】【AHandler】【1.AHandler异步无回复消息原理篇】-CSDN博客 【android12】【AHandler】【2.AHandler异步回复消息原理篇】-CSDN博客 其他系列 本人系列文章-CSDN博客 1.简介 前面两篇我们主要介绍了有回复和无回复的消息的使用方法和源码解析&a…

美发系统——职员绩效和提成——调试过程

一、学会通过现象看本质 首先,通过现象看本质能够让技术研究者更深入地理解问题。在面对技术故障或挑战时,表面的现象往往只是冰山一角,如果只关注表象,可能会采取治标不治本的解决方法。而洞察本质则可以找到问题的根源&#xf…

记一次:Clickhouse同步mysql数据库

ClickHouse可以通过使用MaterializeMySQL引擎来实现与MySQL的数据同步。 前言:因为数据量比较大,既然要分库,为何不让clickhouse同步一下mysql数据库呢? 零、前期准备--mysql的查询和配置 1 查询mysql的配置状态 查询以下语句…

教程:使用 InterBase Express 访问数据库(二)

1. 添加数据模块(IBX 通用教程) 本节将创建一个数据模块(TDataModule),这是一种包含应用程序使用的非可视组件的表单。 以下是完全配置好的 TDataModule 的视图: 创建 TDataModule 后,您可以在其他表单中使用这个数据模块。 2. 添加 TDataModule 要将数据模块添加到…

Matlab实现海马优化算法(SHO)求解路径规划问题

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1内容介绍 海马优化算法(SHO)是一种受自然界海马行为启发的优化算法,它通过模拟海马在寻找食物和配偶时的探索、跟踪和聚集行为来搜索最优解。SHO因其高效的全局搜索能力和局部搜索能力而…

002-Kotlin界面开发之Kotlin旋风之旅

Kotlin旋风之旅 Compose Desktop中哪些Kotlin知识是必须的? 在学习Compose Desktop中,以下Kotlin知识是必须的: 基础语法:包括变量声明、数据类型、条件语句、循环等。面向对象编程:类与对象、继承、接口、抽象类等。…

Unity XR Interaction Toolkit 开发教程(2):导入 SDK【3.0 以上版本】

文章目录 📕课程总结📕安装 Unity 编辑器与打包模块📕导入 OpenXR📕导入 XR Interaction Toolkit📕打包发布 获取完整课程以及答疑,工程文件下载: https://www.spatialxr.tech/ 视频试看链接&a…

clickhouse运维篇(二):多机器手动部署ck集群

熟悉流程并且有真正部署需求可以看一下我的另一篇简化部署的文章,因为多节点配置还是比较麻烦的先要jdk、zookeeper,再ck,还有各种配置文件登录不同机器上手动改配置文件还挺容易出错的。 clickhouse运维篇(三)&#x…

RabbitMQ交换机类型

RabbitMQ交换机类型 1、RabbitMQ工作模型2、RabbitMQ交换机类型2.1、Fanout Exchange(扇形)2.1.1、介绍2.1.2、示例2.1.2.1、生产者2.1.2.2、消费者2.1.2.3、测试 2.2、Direct Exchange(直连)2.2.1、介绍2.2.2、示例2.2.2.1、生产…

MoonNet基准测试更新

基准测试 引言:为了展示MoonNet网络库支持的动态负载均衡功能,我进行了吞吐量测试,以突出其性能表现。由于该库的动态负载均衡策略包括动态线程调度,测试中的线程数变化是不稳定的。这种动态调整使得直接与其他库采用固定线程数的…

RHCE——笔记

nfs服务器 一、简介 NFS(网络文件系统) 允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读…

2023年SCRM系统排名分析及市场趋势解读

内容概要 当前,SCRM(社交客户关系管理)系统在企业运营中的重要性日益凸显,尤其是在快速发展的数字经济环境中。2023年的SCRM市场展现出多元化与专业化的趋势,不同企业在客户关系管理方面的需求各有不同,这…

上云管理之Git/GitHub/GitLab 详解(一)

上云管理之Git/GitHub/GitLab 详解(一) 引言1. GIT软件安装2.初始化配置与提交代码2.1. 初始化配置2.2 本地仓库代码提交2.2.1 初始化仓库并提交代码2.2.2 再次提交已修改的代码2.2.3 文件夹层次结构代码提交 2.3 GIT 的文件状态 3.GIT 分支3.1. 分支的切换与删除3.…

10款录屏软件来助你视频回放!!

现在互联网的普及,实时在线视频交流已是家常便饭,有时我们需要进行视频回顾,这就需要借助录屏软件。不管是用于游戏录制、课程制作、教学培训还是项目汇报等, 一款好的录屏软件都能起到事半功倍的效果。今天,我就来跟大…

Python复习2

一、封装函数 #自己封装len函数 s1 "hello,python" print(f"s1的长度为{len(s1)}")def my_len(data):count0for i in data:count 1print(f"{data}的长度为{count}")my_len(s1) 二、容器的排序(排序之后的结果都会变成列表&#xf…

利用EasyExcel实现简易Excel导出

目标 通过注解形式完成对一个方法返回值的通用导出功能 工程搭建 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

基于java+SpringBoot+Vue的校园资料分享平台设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

VuePress文档初始化请求过多问题探讨

1. 背景 公司有部门使用VuePress 1.0搭建平台的帮助文档&#xff0c;前期文档不是很多&#xff0c;所以没有暴露出特别明显的问题。但随着文档的逐步迭代和内容的增多&#xff0c;出现了大量的并发请求&#xff0c;总共有218个请求&#xff0c;导致服务器带宽耗尽、响应速度下降…