软件测试/测试开发丨Python内置库学习笔记

内置库

一、内置库OS

1、os概述

  1. os: Operating System
  2. os 模块的常用功能
  3. 跨平台的差异

2、os使用

  1. 导入 os 模块
  2. 查看 os 模块使用文档
  • help(os)
  • dir(os)
import os# 查看os模块说明文档
help(os)# 查看os模块的属性和方法
print(dir(os))

3、os 常用方法

(1)系统相关
  • os.name:获取系统名称
  • os.environ:获取系统环境变量信息
  • os.getenv(‘PATH’):获取指定名称的环境变量信息
  • os.system():执行系统指令
import os
dir(os)# 获取操作系统的名称 nt是window系统 posix是是limux系统
print(os.name)# 获取系统环境变量信息,以字典形式展现
print(os.environ)# 获取指定名称的环境变量信息
print(os.getenv("chrom"))# 执行系统命令
# linux系统
os.system('pwd')
# windows系统
print(os.system("dir"))
(2)操作目录
  • os.getcwd():获取当前目录
  • os.chdir():切换目录
  • os.listdir():列出当前目录内容
  • os.mkdir():创建空目录
  • os.makedirs():递归创建多级目录
  • os.rmdir():删除空目录
  • os.rename():重命名目录
  • os.remove():删除文件
"""目录相关"""
# 获取当前所在目录 E:\python_test\Reptile Fiction
print(os.getcwd())
# 切换目录 change directory
os.chdir('..')
# # 列出当前目录下的所有文件
print(os.listdir())  # ['.idea', 'a1', 'chromedriver.exe', 'fiction.py', 'homework_test.py', 'main.py', 'zhihu.py']
# # 创建空目录
os.mkdir('new')
# # 递归创建多级空目录
os.makedirs('a/b/c')
# # 删除空目录
os.rmdir('new')
# # 重命名目录
os.rename('a', 'a1')
# # 删除文件
os.remove('demo.txt')
(3)os操作路径(path方法)
os.path.abspath(path)返回绝对路径
os.path.basename(path)返回文件名
os.path.dirname(path)返回文件路径
os.path.split(path)分割路径
os.path.join(path)拼接路径
os.path.exists(path)判断路径是否存在
os.path.isdir(path)判断是否是目录
os.path.isfile(path)判断是否是文件
os.path.getsize(path)获取文件大小

二、内置库-sys

1、sys概述

  • 是 Python 自带的内置模块
  • 是与 Python 解释器交互的桥梁

2、sys使用

# 导入sys模块
import sys# 查看sys模块帮助文档
help(sys)# 查看sys模块的属性和方法
print(dir(sys))

3、常用属性

  • sys.version:返回 Python 解释器版本
  • sys.platform:返回操作系统平台名称
  • sys.argv:返回外部向程序传递的参数
  • sys.modules:返回已导入的模块信息
  • sys.path:返回导包的搜索路径列表
"""sys模块常用属性"""
# 返回Python 解释器版本
print(sys.version)
# 返回操作系统平台名称
print(sys.platform)
# 返回外部向程序传递的参数
print(sys.argv)
# 返回已导入的模块信息
print(sys.modules)
print(sys.modules.keys())
# 返回导包的搜索路径列表
print(sys.path)--------------------------------->
3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38) [MSC v.1929 64 bit (AMD64)]
win32

4、常用方法

  • sys.getdefaultencoding():获取编码方式
  • sys.exit():运行时退出
"""sys模块常用方法"""
# 获取系统当前编码
print(sys.getdefaultencoding())# 运行时退出
sys.exit()
# 退出后显示error
sys.exit(error)

三、内置库-IO

1、IO概念

IO就是input和output

图片

2、文件操作步骤

  • 打开文件

  • 操作文件:读/写内容

  • 关闭文件(读写完成,要及时的关闭)

    • file:文件路径;
    • mode:读取模式
    • buffering:缓冲区的大小(默认为-1,0为关闭缓冲区,1遇到换行符才写入磁盘)
    • encoding:编码
    • errors:遇到编码/解码错误时是否抛出来
    • newline:换行符,如-r,-n
    • closefd:文件描述符
def open(file, mode='r', buffering=None, 
encoding=None, errors=None, newline=None, 
closefd=True)

3、文件读写方式

图片

4、读操作

图片

5、写操作

  • mode=“w+”, 读写权限,会新建文件,清空内容再写入
  • mode=“r+”, 读写权限,替换原来的内容
  • mode=“a+”, 读写权限,追加内容
# 打开文件(以只读的方式)
f = open('data', 'r', encoding='utf-8')# 读取全部内容
print(f.read())
# 读取括号前的内容
print(f.read(10))
# 查看读取内容的类型
result = f.read()
print(type(result))
# 设置初始化游标位置
f.seek(0)
# readlines的类型是list,readline的类型是str
result2 = f.readlines()
print(type(result2))
# 读取1行内容
print(f.readline())# 关闭文件
f.close()
print(f'文件已关闭')

6、 忘记关闭文件的危害

  • 打开文件达到一定数量, 将会导致打开失败
  • 占用内存空间,非常浪费资源
  • 会导致系统自动回收资源,而丢失数据

7、 with 用法

使用with方法,会自动关闭操作

with open('data.txt', 'r', encoding='utf-8') as f:print(f.read())
print(f.closed)   ## 查看关闭状态

总结

1)使用 with 方法,会自动完成关闭操作
2)通过 python 封装的 API,可以实现读,写,追加操作
3)文件打开要使用utf-8的编码格式(以免中文出现乱码)

四、内置库-科学计算

1、math函数

math 函数,python 提供的内置数学类函数库,包含了很多数学公式。
比如幂函数运算,三角函数,高等函数运算等

2、math函数操作

1)数字常数
2)数论与表示函数
3)幂对数函数
4)三角对数函数
5)高等特殊函数

3、数字常量

图片

4、数论与表示函数

图片

5、幂函数与对数函数

图片

6、三角函数

图片

7、高等特殊函数

图片

实战练习

  • 常量
  • 数论与表示函数(ceil, floor)
  • 幂函数与对数函数 (pow(), sqrt())
import math"""数字常量"""
print(math.pi)
print(math.e)
print(math.inf)
print(math.nan)
"""数论与表示函数"""
# 向上取整,取>4.3 的最小的整数5
print(math.ceil(4.3))
# 向上取整,取>-4.3 的最小的整数-4
print(math.ceil(-4.3))
# 向下取整,取<4.3 的最大的整数4
print(math.floor(4.3))
# 向下取整,取<-4.3 的最大的整数-5
print(math.floor(-4.3))
"""幂函数与对数函数"""
print(math.pow(2, 10))
print(math.sqrt(3))"""
练习:天天向上的力量一年365天,以第1天的能力值为基数,记为1.0,
当努力学习时,能力值相比前一天提高1%,
当没有学习时能力值相比前一天下降1%。
(每天努力和每天放任,一年下来的能力值相差多少呢? )
"""
# 当努力学习时,能力值相比前一天提高1%
print(math.pow((1.0 + 0.01), 365))
# 当没有学习时能力值相比前一天下降1%
print(math.pow((1.0 - 0.01), 365))

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OCP NVME SSD规范解读-2.复位与控制器配置要求-part2

Maximum Data Transfer Size (MDTS)&#xff1a;设备应支持至少256KB的最大数据传输大小。 CSTS.CFS Reporting: 设备固件应支持报告CSTS.CFS&#xff08;Controller Status and Capabilities Field in the Status Register&#xff09;。 Queue Depths: 每个提交队列的SQ最小…

C++ 之LeetCode刷题记录(三)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅&#xff0c;多学多练&#xff0c;尽力而为。 先易后难&#xff0c;先刷简单的。 13、罗马数字转整数 罗马数字包含以下七种字符: I&#xff0c…

Linux 线程概念

文章目录 前言线程的概念线程的操作操作的原理补充与说明 前言 ① 函数的具体说明被放在补充与说明部分 ② 只说些基础概念和函数使用 线程的概念 网络回答&#xff1a;Linux 线程是指在 Linux 操作系统中创建和管理的轻量级执行单元。线程是进程的一部分&#xff0c;与进程…

K8s实战-init容器

概念&#xff1a; 初始化容器的概念 比如一个容器A依赖其他容器&#xff0c;可以为A设置多个 依赖容易A1&#xff0c;A2&#xff0c;A3 A1,A2,A3要按照顺序启动&#xff0c;A1没有启动启动起来的 话&#xff0c;A2,A3是不会启动的&#xff0c;直到所有的静态容器全 部启动完毕…

编译错误:C4056E type of input file ‘xxx‘ unknown

最近在Proteus上面进行仿真&#xff0c;将编译后的hex文件导入到电路图中&#xff0c;进行程序运行的时候&#xff0c;Proteus报了这么一个错误&#xff1a;Error: C4065E: type of input file Pian unknown 我上网一搜&#xff0c;好像与文件名称中存在空格有关&#xff0c;导…

Mybatis枚举类型处理和类型处理器

专栏精选 引入Mybatis Mybatis的快速入门 Mybatis的增删改查扩展功能说明 mapper映射的参数和结果 Mybatis复杂类型的结果映射 Mybatis基于注解的结果映射 文章目录 专栏精选摘要引言正文枚举类型映射简单枚举映射枚举顺序映射复杂枚举映射 类型处理器 总结 摘要 在这篇…

CNN实现对手写字体的迭代

导入库 import torchvision import torch from torchvision.transforms import ToTensor from torch import nn import matplotlib.pyplot as plt 导入手写字体数据 train_dstorchvision.datasets.MNIST(data/,trainTrue,transformToTensor(),downloadTrue) test_dstorchvis…

CSDN被关注自动回复消息怎么设置

CSDN被关注自动回复消息怎么设置 1.鼠标移动到头像 2.点击内容管理 3.拉到下面&#xff0c;看到工具目录&#xff0c;里面有个粉丝服务点击 4.点击自动回复 5.这里点击打开&#xff0c;选择被关注自动回复&#xff0c;设置文字或图片点击保存就好了

SDRAM小项目——uart发送模块

数据的输入&#xff1a; 数据的输入是uart接收模块的输出&#xff1a;串—并—串&#xff08;接收到的外部的串行数据进入内部寄存器转化为并行数据&#xff0c;再由内部寄存器读出&#xff0c;输出表现为串行数据&#xff09;&#xff0c;接收到的输入信号为tx_flag&#xff0…

【机组期末速成】计算机的运算方法|进制转换|无符号数与有符号数|数的定点表示与浮点表示|定点运算

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;计算机组成原理&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 目录 前言&#xff1a; 一、本章考点总览 二、考点分析 1、日常我们采用十进制来表示数据&#xff0c;计算机如何表示&#xf…

24、Qt使用QCustomPlot

一、下载文件 进入官网&#xff0c;选择“Download”、QCustomPlot.tar.gz Qt Plotting Widget QCustomPlot - Download 二、创建项目 创建一个"Qt Widget Application"项目&#xff0c;基类选择“QMainWindow”&#xff0c;把刚才下载的压缩包里的“qcustomplot.…

K8S网络类型

k8s的网络类型 k8s的通信模式 1 pod内部之间容器与容器之间的通信&#xff0c;在同一个pod中容器是共享资源和网络&#xff0c;使用同一个网络命名空间&#xff0c;可以直接通信 2 同一个node节点之内&#xff0c;不同pod之间的通信&#xff0c;每个pod都有一个全局的真实ip地…