【测试开发学习历程】python常用的模块(上)

前言:

感觉全是机器人给我点赞和收藏(QWQ),能不能来个活人评论我啊,行行好(QAQ)

目录

1 模块的导入

2 随机模块-random

3 字符串模块-string

4 os模块及其常用函数


1 模块的导入

库、包、模块的关系

  • 模块:就是一个.py的文件

  • 包:就是包含了模块,还有一个名叫__init__.py的文件才叫包,否则就是文件夹,__init__.py可以是空文件也可以有代码。包里可以有包也可以有模块,可以多级结构混杂。

  • 库:具有相关功能的包和模块的合集。(web自动化用的是selenium第三方库,接口自动化用的是requests第三方库)

  • 一个模块只会被导入一次,不管你执行了多少次import

  • 导入方式:

    • import 模块 : import后面一般能跟模块,在调用其函数/类/变量的时候,用模块名.函数/类/变量的形式 (比如,import random,random.函数、类、变量)

    • import...as... :导入并重命名

    • from...import...from后面可以跟包名,也可以跟“包名.模块名”,import后面跟模块名或者类名,推荐使用该方式导入

    • from...import...as 在模块名或者包名过长时,为了后面的程序编写,可以给其取别名

      Alt+Enter:可以快速导入

2 随机模块-random

random模块,用于生成伪随机数,之所以称之为伪随机数,是因为真正意义上的随机数(或者随机事件)在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。

常用的方法:

方法作用
random.randint(起始整数, 结束整数)随机一个整数
random.choice(非空序列)从非空序列中,选取一个随机数
random.randrange(起始整数, 结束整数[,步长])随机一个正整数
random.smaple(序列, k)从序列中选择k个随机且独立的元素, 返回一个列表;

举例:

# 打印随机数字,猜数字游戏
import random
num = random.randrange(1,100) #随机一个1到100的正整数
print(num)
shuru = int(input("输入一个数字:"))
if shuru == num:print("猜对了!")
else:print("猜错了!")# ===randint=====================
print(random.randint(1,100))
# ===choice======================
list_1 = [1,2,3,4,5,6,7,8]
print(random.choice(list_1))
# ===choices======================
list1 = [1,2,3,4,5]
list_weights = [0,0,0,1,0]
list_cum_weights = [1,1,1,1,1]
print(random.choices(population=list1, cum_weights=list_cum_weights,k=5))"""
cum_weights=[1, 1, 1, 1, 1] 
• 等价于 weights=[1, 0, 0, 0, 0]
• [1,1+0,1+0+0,1+0+0+0,1+0+0+0+0]
• 看懂了没,太反人类了。。cum_weights=[1, 4, 4, 4, 4] 
• 等价于 weights=[1, 3, 0, 0, 0]
• [1,1+3,1+3+0,1+3+0+0,1+3+0+0+0]
"""print(random.sample([1, 2, 3, 4, 5], 3))

3 字符串模块-string

这是一个内置模块,我们必须在使用任何常量和类之前将其导入

常用的方法:

属性作用
string.ascii_letters英文字母的大小写
string.ascii_lowercase英文字母的小写
string.ascii_uppercase英文字母的大写
string.digits数字

举例:

# 随机模块和字符串模块结合使用
import random
import string
# 随机取六位字母,判断输入和随机的是否相等
letter1 = random.sample(string.ascii_letters,6)
str1 = "".join(letter1)
print(str1)
str2 = input("请输入六位字母:")
if str2 == str1:print("输入正确")
else:print("输入错误")

os模块及其常用函数

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就需要使用os模块。

函数/属性作用
os.system("终端命令")执行终端命令
os.name操作系统的类型,nt表示windows,posix表示linux
os.uname()返回操作系统的版本信息,包括操作系统的名称、内核版本、硬件信息等,注意这个方法只在linux环境上支持
os.getcwd()返回当前工作的目录,相当于linux上的pwd命令
os.getenv(”path“)返回环境变量path的值
os.path.dirname("路径")返回指定文件的文件的父级目录
os.path.isdir("路径")判断文件夹是否存在,返回布尔值
os.path.isfile("路径")判断文件是否存在,返回布尔
os.path.exists("路径")即可判断文件夹也可以判断文件是否存在,返回布尔
os.path.jion("路径1", "路径2")实现两个路径的拼接
os.mkdir("路径")创建目录,相当于linux的mkdir命令
os.rmdir("路径")删除目录,只能删除空目录
os.listdir("路径")查询路径中的所有目录,括号里传路径
os.path.getatime("路径")返回当前路径的文件最后访问的时间/ 纪元时间
os.path.getmtime("路径")返回当前路径的文件最后修改的时间/ 纪元时间
os.path.getctime("路径")返回当前路径的文件创建的时间/ 纪元时间

查看当前系统的信息可以使用sys模块下paltform属性:

print(sys.platform)   # 当前系统的版本

获取当前文件的路径:__file__

print(__file__)
# D:/Document/PythonDoc/first_python/xxxx/file_demo.py

print(os.getenv("PATH"))
#判断C盘下是否存在一个名叫Python的文件夹?
os.path.isdir() #os.path.isfile() #判断文件是否存在
os.path.exists() #既可以判断文件也可以判断文件夹
os.lisdir(路径) #获取盘下所有文件和目录名称
os.name #打印环境的操作系统
os.getpid() #打印运行id
os.getcwd() #求当前文件的路径
os.path.join() #路径拼接
def get_file(path, dir_list=[]):"""获取所有的文件:param path:路径:param dir_list:存放路径下所有的文件:return:列表"""files = os.listdir(path)for file in files:file_path = os.path.join(path, file)# 判断路径是否为文件,如果为文件,将文件追加到列表中if os.path.isfile(file_path):dir_list.append(file_path)# 判断路径是否为目录,如果为目录,调用函数本身,将目录中的文件取出else:get_file(file_path, dir_list)return dir_list

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

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

相关文章

关于SpringCloud,你了解多少?

Why SpringCloud? Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一…

C++ 标准库中的 <algorithm> 头文件

C 标准库中的 <algorithm> 头文件包含了一系列非常有用的算法函数&#xff0c;这些函数可以用于处理容器&#xff08;如向量、列表、数组等&#xff09;中的元素。这些算法可以极大地简化编程任务&#xff0c;使代码更加简洁和易于理解。 以下是一些 <algorithm> …

论坛直击|发展新质生产力,高校怎么做?

新质生产力浪潮涌动 三大议题聚焦高校人才培养 今年全国两会的政府工作报告将“大力推进现代化产业体系建设&#xff0c;加快发展新质生产力”列在2024年政府工作任务首位&#xff0c;发展新质生产力的先导是培养拔尖创新人才&#xff0c;高等教育改革必须以立德树人为根本任…

带你从BIOS 小工到年薪百万 之 sense amplifier 的作用以及MRC 如何初始化它

做过BIOS 的同学&#xff0c;肯定看过这张图片 对世界充满好奇心的你&#xff0c;是否想过 其中 Sense amplifier 是做什么用的&#xff1f; 是如何工作的&#xff1f; BIOS 又是如何训练它的&#xff1f; 明天接着写

[C++11] 初始化语法、explicit关键字、final override关键字、delete default关键字

说明&#xff1a;C11 引入了初始化语法、explicit关键字、final && override关键字、delete && default关键字 等新特性&#xff0c;旨在改善语言的功能性、安全性和表达能力。具体说明如下&#xff1a; 引入初始化列表和统一的初始化语法的原因&#xff1a;在…

分布式的计算框架之Spark(python第三方库视角学习PySpark)

基本介绍 Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎 。现在形成一个高速发展应用广泛的生态系统。 特点介绍 Spark 主要有三个特点&#xff1a; 首先&#xff0c;高级 API 剥离了对集群本身的关注&#xff0c;Spark 应用开发者可以专注于应用所要做的计…

transformer在生物基因DNA的应用:DNABERT、DNABERT-2

参考&#xff1a; https://www.youtube.com/watch?vmk-Se29QPBA&t1388s 写明这些训练模型可以最终训练好可以进行DNA特征向量的提取&#xff0c;应用与后续1、DNABERT https://github.com/jerryji1993/DNABERT 主要思路就是把DNA序列当成连续文本数据&#xff0c;直接用…

维修伊顿触摸屏不显示工业电脑人机界面EATON XVS-430-10MPI-1-10 深圳捷达工控维修

人机界面 (HMI) XP500 工业 PC 系列 以不同的方式思考工业平板电脑 对于严酷、高要求的应用&#xff0c;工业平板电脑设定了可配置性和稳健性的标准。伊顿的 XP500 系列工业平板电脑凭借防刮钢化玻璃屏幕、铸铝外壳和无风扇设计满足了这些需求。这些功能使 XP500 HMI成为一款节…

ES11-12

1-ES11-Promise.allSettled Promise.allSettled0)方法返回一个在所有给定的promise都已经fulfilled或rejected后的promise,并带有一个对象数组,每个对象表示对应的promise结果。 简单来说不管成功失败都会调用.then()&#xff0c;然后处理成功和失败的结果 const promises [ …

项目4-图书管理系统2+统一功能处理

1. 拦截器&#xff08;Interceptor&#xff09; 我们完成了强制登录的功能, 后端程序根据Session来判断用户是否登录, 但是实现⽅法是比较麻烦的。 所需要处理的内容&#xff1a; • 需要修改每个接⼝的处理逻辑 • 需要修改每个接⼝的返回结果 • 接⼝定义修改, 前端代码也需…

使用moviepy进行音视频处理(超全面)

在这篇博客中,我们将探讨如何使用Python处理视频文件,包括读取视频参数、剪切视频片段、合并视频片段、裁剪视频以及调整视频大小等功能。这些功能可以广泛应用于视频编辑、视频处理等场景。 1. 视频参数获取 首先,我们定义了一个 video_parameters 函数,用于读取视频文件的一…

淘宝商品详情API数据采集接口|如何快速采集淘宝商品数据?

如何快速采集淘宝商品数据 无论是谁&#xff0c;如果单凭人工的方式去收集淘宝、天猫等平台的商品数据信息&#xff0c;工作量是巨大的&#xff0c;如果借助有采集软件的第三方公司操作&#xff0c;则可实现对大数据的轻松掌握&#xff0c;但是外包给第三方公司需要支付一定的…

javaee初阶———多线程(三)

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程专题第三篇,关于线程安全方面的内容 如果有不足的或者错误的请您指出! 目录 八、线程安全问题(重点)1.一个典型的线程不安全的例子2.出现线程不安全的原因3.解决线程不安…

每日一题:C语言经典例题之百文买百鸡

题目描述 公鸡五文钱一只&#xff0c;母鸡三文钱一只&#xff0c;小鸡一文钱三只&#xff0c;用m文钱买m只鸡&#xff0c;公鸡、母鸡、小鸡各买多少只&#xff1f; 输入 正整数m。 输出 只输出一个解&#xff0c;即公鸡数量最少的那个解&#xff08;输出公鸡、母鸡和小鸡的只数…

Frp多端口映射

使用AutoDL在内网搭建私有云&#xff0c;为了方便公网访问&#xff0c;需要将端口10000-11000进行内网穿透。 参考文档frp0.41使用说明 官方github仓库 1 Frp安装 见博客 frp安装及系统配置教程 建议为frp设置验证方式&#xff0c;具体做法见官方文档&#xff0c;若用toke…

Vultr服务器连接不上有哪些解决办法

近年来人们对vps主机的使用不断的呈上升的状态&#xff0c;很多人在选择国外vps主机的时候会选择Vultr美国主机商&#xff0c;因为他们的主 机性价比超高&#xff0c;同时在全球范围的数据中心也是比较多&#xff0c;我们知道服务器在使用中总会出现问题的&#xff0c;那么Vult…

对于普通人来说ChatGPT3.5和4.0的区别,要不要升级GPT4.0

ChatGPT3.5和4.0在官方给出的有哪些区别呢&#xff1f;简单罗列一下&#xff0c;我个人觉得官方给的都太高级&#xff0c;我们平时普通人很难问ChatGPT这种问题。 官方测试所涉及的能力&#xff1a; 视觉能力代码能力数学计算能力工具使用能力与人的交互能力人类专业考试的能…

Node.js从基础到高级运用】二十三、Node.js中自动重启服务器

引言 在Node.js开发过程中&#xff0c;我们经常需要修改代码后重启服务器来应用这些更改。手动重启不仅效率低下&#xff0c;而且会打断开发流程。幸运的是&#xff0c;有一些工具可以帮助我们自动化这个过程。本文将介绍如何使用nodemon来实现Node.js服务器的自动重启。 什么是…

AR智能眼镜方案_MTK平台安卓主板芯片|光学解决方案

AR眼镜作为一种引人注目的创新产品&#xff0c;其芯片、显示屏和光学方案是决定整机成本和性能的关键因素。在这篇文章中&#xff0c;我们将探讨AR眼镜的关键技术&#xff0c;并介绍一种高性能的AR眼镜方案&#xff0c;旨在为用户带来卓越的体验。 AR眼镜的芯片选型至关重要。一…

数据结构---绪论

一、绪论&#xff1a; 1.什么是数据&#xff1f; 数据是信息的载体&#xff0c;是描述客观事物属性的数&#xff0c;字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素--描述一个个体 数据元素&#xff0c;数据项&am…