Python常用模块

时间:2024-02-11 23:11:22 标签:  模块  

 前言

在使用Python进行开发时,会经常使用到不同的模块来帮助我们完成某部分功能的实现,因此掌握一些常用模块的常用方式可以帮助我们加速程序开发。

time模块

在Python中通常有以下几种方式来表示时间:

1.时间戳(timestamp),表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,属于浮点型可以用来计算时间间隔。

>>> import time
>>> time.time()
1622362862.679771

2.格式化的时间字符串(Format String),主要用来展示时间。

>>> import time
>>> time.strftime('%Y-%m-%d %H:%M:%S %p') # Y-年份 m-月 d-日 H- 小时 M-分钟 S-秒 p-AM/PM
'2021-05-30 16:22:44 PM'# 上述代码可以简写,使用X表示时分秒
>>> time.strftime('%Y-%m-%d %X')
'2021-05-30 16:23:34'

3.结构化的时间(struct time)

>>> print(time.localtime()) #本地时区的struct_time
>>> print(time.gmtime())  #UTC时区的struct_time

在上述三种时间格式中,计算机能够识别的时间格式只有时间戳,而人类能够看懂的时间是格式化的时间字符串或者结构化时间,因此三者之间有转换关系。

1.时间戳--->结构化时间--->格式化时间

# 时间戳----结构化时间
import timetime1 = time.time() # 时间戳
res = time.localtime(time1) # 将时间戳转为结构化时间
print(res)# 结构化时间----格式化时间
res = time.localtime() # # 获取结构化时间
time1 = time.strftime('%Y-%m-%d %X',res) # 讲结构化时间转为格式化时间
print(time1)

2.格式化时间--->结构化时间--->时间戳

# 格式化时间---结构化时间
res = time.strftime('%Y-%m-%d %X',res) # 获取格式化时间
print(res)time1 = time.strptime(res,'%Y-%m-%d %X') # 格式化时间转成结构化时间
print(time1)# 结构化时间转成时间戳
res = time.localtime() # 获取结构化时间
time1 = time.mktime(res)
print(time1)

datetime模块

datetime模块可以用来加减时间

import datetimeprint(datetime.datetime.now()) # 格式化输出时间
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分

random模块

random模块可以用来生成随机数、随机验证码等功能。

import random
# 随机获取0-1之间的浮点数
print(random.random())# 随机获取大于等于1 小于等于6之间的整形数字
print(random.randint(1,6))# 随机获取大于等于1 小于6之间的整形数字
print(random.randrange(1,6))# 随机获得参数中的一个数据
print(random.choice((111,'aaa',456,[1234,'qq'])))# 指定元素个数自由组合,随机输出,当指定元素个数为1时,与choice作用相同
print(random.sample([111, 'aaa', 'ccc','ddd'],1))
print(random.sample([1,3,5,7,89,],3))# shuffle 打乱原列表的顺序
list1 = [1,2,3,5]
random.shuffle(list1)
print(list1)# 使用random模块生成验证码
def func(n=6):# 获取随机的26个大写英文字母,根据ASC码表al_A = chr(random.randint(65,90))# 获取随机的26个小写英文字母,根据ASC码表al_a = chr(random.randint(97,122))# 获取随机数字num = random.randint(0,9)# 生成随机验证码res = ''for i in range(n):res += random.choice([al_a,al_A,str(num)])return res

os模块

os模块提供了非常丰富的方法用来处理文件和目录,是一个非常大的与操作系统交互的模块,这里介绍常用的一些方法。

import osos.listdir(path) # 获取某一个文件夹下的所有子文件夹名称以及文件名称
os.remove(path) # 删除指定路径的文件
os.rename("oldname","newname") # 重命名文件/目录
os.path.dirname(__file__) # 获取当前文件所在的文件夹
os.path.basename(__file__) # 获取当前文件的文件名字
os.path.split(path) # 将path分割成目录和文件名二元组返回
os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False
os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.mkdir('dirname')  # 在当前文件路径下生成单级目录
os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
os.path.abspath(path) # 返回path规范化的绝对路径
os.path.join('a','b') # 对文件路径进行拼接

sys模块

sys.version    # 获取Python解释程序的版本信息
sys.path     # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform   # 返回操作系统平台名称

序列化与反序列化模块

json模块和pickle模块是用来序列化和反序列化数据的模块。

序列化指的是把内存的数据类型转换成一种特定的格式的内容,该格式的内容可用于存储或者传输给其他平台(其他编程语言)使用,反序列化就是将其他平台上的数据转换成python能够识别的数据格式。

序列化:
内存中的数据类型----》序列化----》特定的格式(json/pickle格式)
反序列化:
内存中的数据类型《----反序列化《----特定的格式(json/pickle格式)

数据进行序列化有两种用途:

其一,可以持久保存程序运行过程中产生的数据,将数据写到磁盘中。

其二,序列化之后,不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好使用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。

序列化和反序列化的操作可以借助json和pickle模块。

json模块

json格式的数据是所有编程语言通用的数据类型,如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为json格式,因为json格式表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。但是json不能用于某种语言独有数据类型的序列化或者反序列化操作,比如python的集合类型。

还需要注意json格式的字符串与Python语法之间的区别,不要混淆了哟,比如json格式字符串是不支持单引号的,但是字典支持单引号哦~

import json# 序列化操作
res = json.dumps([1,2,3,4,True,False])
print('序列化结果',res) # 序列化结果 [1, 2, 3, 4, true, false],'true'/false---字符串类型
# 序列化结果可以存在文件中:复杂方法
with open('json.txt', 'w', encoding='utf-8') as f:f.write(res)# 将序列化的结果写入文件的简单方法:
with open('json.txt', 'w', encoding='utf-8') as f:json.dump([1,2,3,4,True,False],f)# 反序列化
res1 = json.loads(res)
print('反序列化',res1,type(res1))
# 将文件中的数据反序列化:复杂方法
with open('json.txt', 'r', encoding='utf -8') as f:json_res = f.read()res = json.loads(json_res)print(res)# 反序列化的简单方法
with open('json.txt', 'r', encoding='utf -8') as f:res = json.load(f)print(res,type(res))

pickle模块

pickle模块的用法与json模块用法相同,不同的是它只能用于python。可以序列化python独有的数据类型。

import pickle
# 序列化
res = pickle.dumps({1,2,3})
# 集合属于python独有的,使用pickle可以进行序列化
print(res)
# 反序列化
res1 = pickle.loads(res)
print(res)

hashlib模块

hash是一类算法,通过接收传入的内容,经过运算后得到一串hash值,hash值有以下特点:

I 只要传入的内容一样,得到的hash值必然一样 ;

II 不能由hash值返解成内容;

III 不管传入的内容有多大,只要使用的hash算法不变,得到的hash值长度一定;

基于以上特点,hash可以用来进行密码的传输与校验,经常使用的加密算法是md5。

import hashlibm = hashlib.md5() # 相当于建造一个工厂,用来接收需要加密的数据
m.update('hello'.encode('utf-8')) # 接收加密的数据
m.update('world'.encode('utf-8')) # 可以多次接收加密的数据
res = m.hexdigest()  # 对需要加密的数据'helloworld'进行处理,得到加密后的结果
print(res) # fc5e038d38a57032085441e7fe7010b0m1 = hashlib.md5('he'.encode('utf-8'))
m1.update('llo'.encode('utf-8'))
m1.update('w'.encode('utf-8'))
m1.update('orld'.encode('utf-8'))
res = m1.hexdigest() # # 对需要加密的数据'helloworld'进行处理,得到加密后的结果
print(res) # fc5e038d38a57032085441e7fe7010b0# 注意:把一段很长的数据update多次,与一次update这段长数据,得到的结果一样。

以上加密算法虽然不能反解,但是可以通过撞库进行反解,通过将猜测密码加密后与已知md5字符串进行比对进行反解,如下述代码:

cryptograph='aee949757a2e698417463d47acac93df' # 已知的md5加密后的字符串
import hashlib# 制作密码字段
passwds=['asdfgh','asdfh66','asdfh6678'
]dic={}
for p in passwds:res=hashlib.md5(p.encode('utf-8'))dic[p]=res.hexdigest()# 模拟撞库得到密码
for k,v in dic.items():if v == cryptograph:print('撞库成功,明文密码是:%s' %k)break

因此可以对加密算法中添加自定义的key再进行加密,俗称加盐,加盐就可以提升撞库的成本。

import hashlibm = hashlib.md5()m.update('天王'.encode('utf-8'))
m.update('hello'.encode('utf-8'))
m.update('盖地虎'.encode('utf-8'))
m.update('world'.encode('utf-8'))
print(m.hexdigest()

logging模块

logging模块可以用来记录程序运行的日志,日志在程序开发中是非常重要的部分,在线上生产环境或者在测试环境中可以通过日志来查看程序运行是否正常,如果程序异常,可以通过日志快速定位到异常的代码位置,因此记录日志需要尽可能的详细,在python开发中可以借助logging模块记录日志。

import logging# 数字大小代表不同等级
CRITICAL = 50 
ERROR = 40
WARNING = 30 
INFO = 20
DEBUG = 10
NOTSET = 0 logging.debug('调试debug')
logging.info('消息info')
logging.warning('警告warn')
logging.error('错误error')
logging.critical('严重critical')'''
WARNING:root:警告warn
ERROR:root:错误error
CRITICAL:root:严重critical
'''

默认warning及以上级别的日志(waring error critical)可以输出到终端上, 日志应该记录在文件中方便查看,可以为logging模块通过logging.basicConfig()指定全局配置,可以将日志保存到文件中。

import logginglogging.basicConfig(filename='test.log',format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',datefmt='%Y-%m-%d %H:%M:%S %p',level=10)上述参数及其他未用到的参数介绍如下:
filename:用指定的文件名创建FiledHandler,用来打印到文件中
datefmt:指定日期时间格式。
level:根据数字设置的日志级别format参数中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s用户输出的消息

logging模块在使用过程中,需要用到Formatter,Handler,Logger,Filter对象

logger:产生日志的对象;

Filter:过滤日志的对象,不常用;

Handler:接收日志然后控制打印到不同的地方,FileHandler用来打印到文件中,StreamHandler用来打印到终端;

Formatter对象:可以定制不同的日志格式对象,然后绑定给不同的Handler对象使用,以此来控制不同的Handler的日志格式。

上面说了这么多,到底如何在python的项目中使用logging模块记录日志呢?在项目开发中,只需要记住下面的用法就OK了。

首先,在项目的配置文件(settings.py)中对日志格式进行配置:

# settings.py# 日志文件
LOG_PATH = os.path.join(BASE_DIR,'log')
LOG_UER_PATH = os.path.join(LOG_PATH,'access.log')# 定义三种日志输出格式 
standard_format = '%(asctime)s - %(threadName)s:%(thread)d - 日志名字:%(name)s - %(filename)s:%(lineno)d -' \'%(levelname)s - %(message)s'simple_format = '[%(levelname)s][%(asctime)s][%(filename)s:%(lineno)d]%(message)s'test_format = '%(asctime)s] %(message)s'# 日志配置字典
LOGGING_DIC = {'version': 1,'disable_existing_loggers': False,'formatters': {'standard': {'format': standard_format},'simple': {'format': simple_format},'test': {'format': test_format},},'filters': {},# handlers是日志的接收者,不同的handler会将日志输出到不同的位置'handlers': {#打印到终端的日志'console': {'level': 'DEBUG','class': 'logging.StreamHandler', # 打印到屏幕'formatter': 'simple'},'default': {'level': 'DEBUG','class': 'logging.handlers.RotatingFileHandler', # 保存到文件# 'maxBytes': 1024*1024*5, # 日志大小 5M# 'maxBytes': 1000,# 'backupCount': 5,'filename': LOG_UER_PATH, # os.path.join(os.path.dirname(os.path.dirname(__file__)),'log','a2.log')'encoding': 'utf-8','formatter': 'standard',},#打印到文件的日志,收集info及以上的日志'other': {'level': 'DEBUG','class': 'logging.FileHandler', # 保存到文件'filename': LOG_UER_PATH, # os.path.join(os.path.dirname(os.path.dirname(__file__)),'log','a2.log')'encoding': 'utf-8','formatter': 'test',},},# loggers是日志的产生者,产生的日志会传递给handler然后控制输出'loggers': {# logging.getLogger(__name__)拿到的logger配置,如果我们想要不同logger名的logger对象都共用一段配置,那么肯定不能在loggers子字典中定义n个key ,解决方式就是定义一个空的key,这样我们再取logger对象时logging.getLogger(__name__),不同的文件__name__不同,这保证了打印日志时标识信息不同,但是拿着该名字去loggers里找key名时却发现找不到,于是默认使用key=''的配置'': {'handlers': ['default', ], # 这里把上面定义的两个handler都加上,即log数据既写入文件又打印到屏幕'level': 'DEBUG', # loggers(第一层日志级别关限制)--->handlers(第二层日志级别关卡限制)'propagate': False, # 默认为True,向上(更高level的logger)传递,通常设置为False即可,否则会一份日志向上层层传递},},
}

然后,在其他文件中使用logging模块记录日志:

# test.py# logging是一个包,需要使用其下的config、getLogger
from logging import config
from logging import getLogger# 加载日志字典配置
logging.config.dictConfig(settings.LOGGING_DIC)# 生成日志对象
logger = logging.getLogger('test')# 记录日志
logger.info('记录一条日志')

logging模块看起来非常复杂,但是使用起来按照上面的方式,在项目开发的时候,只需要拷贝过去使用就可以了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

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

来源:分享自作者个人站点/博客

智能推荐

 前言 在使用Python进行开发时,会经常使用到不同的模块来帮助我们完成某部分功能的实现,因此掌握一些常用模块的常用方式可以帮助我们加速程序开发。 time模块 在Python中通常有以下几种方式来表示时间: 1.时间戳(timestamp),表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,属于浮点型可以用来计算时间间隔。 >>> import time>>> time.time()1622362862.679771

标签:模块  

os模块 sys模块 import sys print(sys.argv)         # 命令参数list,第一个元素是程序本身路径 print(sys.exit())      

标签:模块  

目录 一:requests 二:BeautifulSoup 三:S

标签:爬虫  

目录 实验前准备Ansible部署安装ansible配置主机清单配置密钥对验证 常用模块

标签:模块  

目录 1.ping模块  2.command模块 3. shell模块

标签:模块  

Command模块作用:使用ansible自带模块执行一些简单的命令 不能使用 > < | & 等特殊字符,如果需要使用,则用shell模块。常用参数有:chdir:先切换工作目录,再执行后面的命令,一般情况下在编译时候使用;creates:如果creates的目录或文件存在,则不执行后面的操作;removes:和creates相反,如果removes的文件存在,才执行后面的操作在节点服务器上面执

标签:模块  常用  Ansible  

Ansible常用模块目录Ansible常用模块Ansible常用模块详解ansible常用模块之pingansible常用模块之commandansible常用模块之rawansible常用模块之shellansible常用模块之scriptansible常用模块之templateansible常用模块之yumansible常用模块之copyansible常用模块之groupansible常用模块之user

标签:模块  常用  Ansible  

1. time模块import time*一*#时间戳--》结构化时间--》格式化的字符串时间-----------------------------------------------------------------------------res1=time.localtime(654126574) print(res1 )#res

标签:模块  常用  教程  python  

1章:系统基础信息模块详解通过第三方模块获取服务器的基本性能、块设备、网卡接口、网络地址库等信息。1.1 系统性能模块psutil:获取系统性能信息、内存信息、磁盘信息、网络信息、用户信息等。1.2 IP地址处理模块IPy: 处理IP地址,网段等。1.3 DNS处理模块dnspython: 实现dns服务监控以及解析结果的校验,替代nslookup及dig等工具。比如查询CNAME记录等。DNS解析可以做简单的负载均衡。

标签:模块  常用  智能  python  

ansible常用模块目录ansible常用模块一、ansible常用模块使用详解1.ansible常用模块之ping2.ansible常用模块之command3.ansible常用模块之raw4.ansible常用模块之shell5.ansible常用模块之script6.ansible常用模块之template7.ansible常用模块之yum8.ansible常用模块之copy9.ansible常用模块之group10.ans

标签:模块  常用  Ansible  

1.文件1.1 文件编码编码就是一种规则集合,记录了内容和二进制间进行相互转换的逻辑。计算机常用编码:UTF-8GBKBig5UTF-8是目前全球通用的编码格

标签:模块  异常  文件  python  

Python还提供了许多其他用于数据处理和转换的内置函数和模块。以下是一些常用的数据处理函数和模块:sortedsorted(iterable, key=func, reverse=False) 用于对可迭代对象进行排序。你可以指定一个可选的 key 函数来自定义排序规则,以及一个可选的 reverse 参数来控制升序或降序排序。# 示例:按长度对字符串列表进行排序words = [apple, banana, cherry, date]sorted_words = sorted(words, key=len)# sorted

标签:数据处理  函数  模块  常用  python  

文章目录 异常及捕获方法python模块python包安装第三方包 异常及捕获方法 当检测到一个错误时&#xff0c;Python解释器就

标签:模块  

目录 1.了解异常 2.异常的捕获

标签:模块  

要使用Python的requests模块发送HTTP请求&#xff0c;你需要首先确保已经安装了这个模块。如果没有安装&#xff0c;可以通过以下命令进行安装&#xff1a; pip install requests 一旦安装完成&#xff0c;你可以按照以下步骤发送HTTP请求&#xff1a; 1.

标签:模块  

pymongo模块是python操作mongo数据的第三方模块,记录一下常用到的简单用法。首先需要连接数据库:MongoClient():该方法第一个参数是数据库所在地址,第二个参数是数据库所在的端口号authenticate():该方法第一个参数是数据库的账号,第二个参数是数据库的密码from pymongo import MongoClient conn = MongoClient(数据库所在地址, 端口号)db_name = conn.te

标签:模块  第三方  python  PyMongo  

Python异常、模块、包 一、异常 1、定义 2、捕获异常

标签:模块  

一、低配logging日志总共分为以下五个级别,这个五个级别自下而上进行匹配 debug-->info-->warning-->error-->critical,默认最低级别为warning级别。1.v1import logginglogging.debug(调试信息)logging.info(正常信息)logging.warning(警告信息)logging.error(报错信息)logging.critical(严重错误信息)

标签:模块  python  logging  

1. 模块的简单认识定义:模块就是我们把装有特定功能的代码进行归类的结果.从代码编写的单位来看我们的程序,从小到大的顺序: 一条代码 < 语句块 < 代码块(函数,类) < 模块.我们⽬目前写的所有的py文件都是模块.引入模块的方式:import 模块from xxx import 模块2. collections模块collections模块主要封装了一些关于集

标签:模块  时间  教程  collections  python  

目录 1.前言 Ansible Ansible的特性

标签:模块  

一.subprocess模块subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码。这个模块的目的在于替换几个旧的模块和方法,如:os.systemos.spawn*1.subprocess模块中的常用函数函数

标签:模块  教程  python  subprocess  

1) 部署 yum install -y ansible 2) 配置 #修改配置文件关闭主机Host_key_ch

标签:模块  

好的,按照我们平常的惯例,我先来讲一下今天这节课的内容,以及Java和Python在某些方面的相似之处。Python使用import语句来导入包,而Java也是如此。然而,两者之间的区别在于Python没有类路径的概念,它直接使用.py文件的文件名作为导入路径,并将其余的工作交给Python解释器来扫描和处理。另外,你可能经常看到有人使用from..import语句,这种语法是为了从.py文件中只导入部分函数或变量而设计的。也可能是导致不同包目录的情况自定义模块我来举一个在Java开发中常用的开发方式作为例子。在我们进行项目开发时,通常会在项目的结构中创建一个util包,用于存放一些工具类。同样,Python也可以采用类似的方式

标签:模块  自定义  开发者  常用  快速  

argparse 模块一个可执行文件或者脚本都可以接收参数。$ ls -l /etc/etc 是位置参数-l 是短选项如何把这些参数传递给程序呢?从3.2开始Python提供了功能强大的参数分析的模块argparse。1.参数分类参数分为:位置参数,参数放在那里,就要对应一个参数位置。例如/etc就是对应一个参数位置。选项参数,必须通过前面是 - 的短选项或者 -- 的长选项,然后后面的才算该选项的

标签:模块  python  argparse  

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐

标签:随机数  

猜你喜欢

random.randomrandom.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0random.uniformrandom.uniform(a, b),用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a代码如下:

标签:随机数  模块  例子  常用  方法  

文章目录 一、了解异常二、捕获异常&#xff08;1&#xff09;.异常案例代码&#xff08;2&#xff09;.读出结果 三、异常的传

标签:模块  

python中的argparse模块&#xff0c;用于命令后参数解析&#xff0c;方便测试&#xff0c;是python中自带的模块。 可以自动生成帮助文档&#xff0c;和使用手册。而且当用户在执行程序的时候&#xff0c;输入无效的参数时&#xff0c;会给

标签:模块  

ansible常用模块的介绍与使用目录ansible常用模块的介绍与使用ansible常用模块之pingansible常用模块之commandansible常用模块之rawansible常用模块之shellansible常用模块之scriptansible常用模块之templateansible常用模块之copyansible常用模块之groupansible常用模块之useransible常用模块之yumansibl

标签:模块  常用  Ansible  

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。模块名要遵循Python变量命名规范,不要使用中文、特殊字符先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块一、import语句import moudle_name :导入指定的py文件,此时这个py文件被认为是一个模块,当前脚本文件可以调用模块中定义好的参数和函数import module_name as newname :此语法可以用来简化模块名称,方便随时调用

标签:模块  python  

一.subprocess模块subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码。这个模块的目的在于替换几个旧的模块和方法,如:os.systemos.spawn*1.subprocess模块中的常用函数函数

标签:模块  详解  python  subprocess  

安装: pip install PyYaml PyYaml 5.1之后,通过禁止默认加载程序(FullLoader)执行

标签:模块  

目录 1 导入PIL模块&#xff08;pillow&#xff09; 1.1 PIL的全称&#xff1a

标签:模块  

引言&#xff1a;话不多说&#xff0c;今天分享一下Ansible的常用模块&#xff0c;建议收藏哦 1、ping模块 ping模块可以进行主机连通性测试 命令格式 ansible 主机或主机组 -m ping

标签:神器  

Python之PyMySQL模块 目录 Python之PyMySQL模块安装连接数据库&#96;connect&#96;拓展

标签:模块  

pylightxl 比较小,没有依赖,对python2、3都支持https://pylightxl.readthedocs.io/en/latest/index.html pylightxl 的文档,可以自己去查看支持的文件后缀:.xlsx, .xlsm 和.csv* 不支持.xls文件(Microsoft Excel 2003 和更早的文件)* 不支持单元格数据以外的任何内容(不支持图形、图像、宏、格式)* 不支持超过 536,870,912 个单元格的工作表单元格数据(32 位列表限制),如果需要更多数据存储,请使用 64 位。

标签:模块  python  pylightxl  

更多Python学习内容&#xff1a;ipengtao.com Python 多处理模块是一个强大的工具&#xff0c;用于实现并行处理&#xff0c;提高程序的性能和效率。无论是在数据处理、网络爬虫、并行计算还是其他领域&#xff0c;多处理都可以发挥重要作用。本文将详细介绍 Python

标签:如何使用  

什么是模块?将模块视为代码库。模块是一个包含一组函数的文件,您想要在应用程序中包含这些函数。创建一个模块要创建一个模块,只需将要包含在其中的代码保存在扩展名为 .py 的文件中:示例:将以下代码保存在名为 mymodule.py 的文件中:def greeting(name): print(Hello, + name)使用模块现在,我们可以使用刚刚创建的模块,通过使用 import 语句:示

标签:模块  python  

1.介绍selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器from selenium import webdriverbrowser=webdriver.Chrome()browser=webdriver.Firefox()browser=webdriver.PhantomJS()browser=webdriver.Safari()bro

标签:教程  模块  python  Selenium  

一个简单的tokenizer分词(tokenization)任务是Python字符串处理中最为常见任务了。我们这里讲解用正则表达式构建简单的表达式分词器(tokenizer),它能够将表达式字符串从左到右解析为标记(tokens)流。给定如下的表达式字符串:text = foo = 12 + 5 * 6我们想要将其转换为下列以序列对呈现的分词结果:tokens = [(NAME, foo), (EQ,

标签:简易  模块  python  tokenizer  

在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。最简单的一种方法是直接做为迭代器使用:from tqdm import tqdmfrom time import sleepn_rounds = 10for i in tqdm(range(n_rounds)): sleep(1)可以看到,循环每迭代一次,进度条就会+10%(我们这里按enter键换行显示):

标签:模块  进度条  python  tqdm  

一、概述在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中提供Lock 、Rlock 、Semaphore 、Event 、Condition 用来保证线程之间的同步,后者保证访问共享变量的互斥问题。Lock & RLock:互斥锁,用来保证多线程访问共享变量的问题Semaphore对象:Lock互斥锁的加强版,可以被多个线程同时拥有,而Lock只能被某一个线程同时拥有。Event对象:它是线程间通信的方式,相当于信号,一个线程可以给另外一

标签:模块  threading  python  lock  Rlock  

1.struct 简单介绍struct 是 Python 的内置模块, 在使用 socket 通信的时候, 大多数据的传输都是以二进制流的形式的存在, 而 struct 模块就提供了一种机制, 该机制可以将某些特定的结构体类型打包成二进制流的字符串然后再网络传输,而接收端也应该可以通过某种机制进行解包还原出原始的结构体数据2.struct 的使用struct 模块可以将任意大小的数字转换成一个固定长度(可选择)的 bytes, 这个原理类似于前面章节讲过的 hash 算法, 不论内容多大, 最终的 hash 值长度不变, 不同的是 hash 算法是不可逆的, 而

标签:模块  教程  python  struct  

1.&nbsp;mysql_user 模块mysql_user模块用来添加,删除用户以及设置用户权限创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例来说明吧。- name: 创建MySQL数据库用户--user_test mysql_user: # ----- 登陆数据库 login_host:

标签:几个  模块  常用  操作  Ansible  

日志模块python loguru下载pip install loguru开箱即用Loguru 的主要概念是只有一个:loggerfrom loguru import loggerlogger.info(This is log info!)logger.warning(This is log warn!)logger.error(This is log

标签:模块  日志  loguru  python  

python模块注入-SSTI环境地址:https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=1&id=5408&page=1打开页面(看到python template injection应该是python模块注入)

标签:模块  python  SSTI  

目录 1、获取当前路径 2、获取父级路径 3、更改路径

标签:模块  

随着不断给类添加功能,文件可能变得很长,即便妥善地使用了继承亦是如此,为遵循Python的总体理念,应让文件尽可能简洁。为在这方面提供帮助,Python允许将类存储在模块中,然后在主程序中导入所需的模块。1.导入单个类新建一个Animal类的模块,其中只包含Animal类,编写程序如下所示:在主程序main中调用Animal类,编写程序如下所示:

标签:模块  基础  python  

在“数据结构”课程中最常讲授的数据结构有栈、队列、双端队列。 栈是一种特殊的线性表&#xff0c;它只允许在一端进行插入、删除操作&#xff0c;这一端被称为栈顶&#xff08;top&#xff09;&#xff0c;另一端则被称为栈底&#xff08;bottom&#xff09;。 从栈顶插入一个元素被称为进栈&#xff0c;将一个元素插入栈顶被称为“压入栈”

标签:队列  

相关问题

相关文章

热门文章

推荐文章

相关标签