Directorio de artículos
Módulos comunes del sistema
Con el fin de facilitar a los programadores el desarrollo de código, Python proporciona muchos módulos integrados para que los programadores mejoren la eficiencia de la codificación. Los módulos incorporados comunes son:
- módulo del sistema operativo
- módulo de sistema
- módulo de matemáticas
- módulo aleatorio
- módulo de fecha y hora
- módulo de tiempo
- módulo de calendario
- módulo hashlib
- módulo hmac
- módulo de copia
- módulo uuid
módulo del sistema operativo
El nombre completo del sistema operativo es OperationSystem, que es el módulo del sistema operativo.Este módulo se puede utilizar para las funciones del sistema operativo y realizar operaciones multiplataforma.
import os
os.getcwd() # 获取当前的工作目录,即当前python脚本工作的目录
os.chdir('test') # 改变当前脚本工作目录,相当于shell下的cd命令
os.rename('毕业论文.txt','毕业论文-最终版.txt') # 文件重命名
os.remove('毕业论文.txt') # 删除文件
os.rmdir('demo') # 删除空文件夹
os.removedirs('demo') # 删除空文件夹
os.mkdir('demo') # 创建一个文件夹
os.chdir('C:\\') # 切换工作目录
os.listdir('C:\\') # 列出指定目录里的所有文件和文件夹
os.name # nt->widonws posix->Linux/Unix或者MacOS
os.environ # 获取到环境配置
os.environ.get('PATH') # 获取指定的环境配置
os.path.abspath(path) # 获取Path规范会的绝对路径
os.path.exists(path) # 如果Path存在,则返回True
os.path.isdir(path) # 如果path是一个存在的目录,返回True。否则返回False
os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False
os.path.splitext(path) # 用来将指定路径进行分隔,可以获取到文件的后缀名
módulo de sistema
Este módulo brinda acceso a algunas variables utilizadas o mantenidas por el intérprete, así como funciones que interactúan fuertemente con el intérprete.
import sys
sys.path # 模块的查找路径
sys.argv # 传递给Python脚本的命令行参数列表
sys.exit(code) # 让程序以指定的退出码结束
sys.stdin # 标准输入。可以通过它来获取用户的输入
sys.stdout # 标准输出。可以通过修改它来百变默认输出
sys.stderr # 错误输出。可以通过修改它来改变错误删除
módulo de matemáticas
El módulo de matemáticas guarda métodos relacionados con cálculos matemáticos, que pueden implementar fácilmente operaciones matemáticas.
import math
print(math.fabs(-100)) # 取绝对值
print(math.ceil(34.01)) #向上取整
print(math.factorial(5)) # 计算阶乘
print(math.floor(34.98)) # 向下取整
print(math.pi) # π的值,约等于 3.141592653589793
print(math.pow(2, 10)) # 2的10次方
print(math.sin(math.pi / 6)) # 正弦值
print(math.cos(math.pi / 3)) # 余弦值
print(math.tan(math.pi / 2)) # 正切值
módulo aleatorio
El módulo aleatorio se usa principalmente para generar números aleatorios u obtener datos aleatoriamente de una lista.
import random
print(random.random()) # 生成 [0,1)的随机浮点数
print(random.uniform(20, 30)) # 生成[20,30]的随机浮点数
print(random.randint(10, 30)) # 生成[10,30]的随机整数
print(random.randrange(20, 30)) # 生成[20,30)的随机整数
print(random.choice('abcdefg')) # 从列表里随机取出一个元素
print(random.sample('abcdefghij', 3)) # 从列表里随机取出指定个数的元素
módulo de fecha y hora
El módulo datetime se utiliza principalmente para mostrar la fecha y la hora, incluida la clase de fecha, la clase de hora, la clase dateteime y la clase timedelta.
import datetime
print(datetime.date(2020, 1, 1)) # 创建一个日期
print(datetime.time(18, 23, 45)) # 创建一个时间
print(datetime.datetime.now()) # 获取当前的日期时间
print(datetime.datetime.now() + datetime.timedelta(3)) # 计算三天以后的日期时间
módulo de tiempo
Además de usar la clase de tiempo en el módulo de fecha y hora, Python también proporciona otro módulo de tiempo por separado para manipular el tiempo. El módulo de tiempo no solo se puede usar para mostrar la hora, sino que también puede controlar el programa y dejar que el programa se detenga (usando la función de suspensión)
print(time.time()) # 获取从1970-01-01 00:00:00 UTC 到现在时间的秒数
print(time.strftime("%Y-%m-%d %H:%M:%S")) # 按照指定格式输出时间
print(time.asctime()) #Mon Apr 15 20:03:23 2019
print(time.ctime()) # Mon Apr 15 20:03:23 2019
print('hello')
print(time.sleep(10)) # 让线程暂停10秒钟
print('world')
módulo de calendario
calendar
El módulo se usa para mostrar un calendario, no se usa mucho, solo entiéndalo.
import calendar
calendar.setfirstweekday(calendar.SUNDAY) # 设置每周起始日期码。周一到周日分别对应 0 ~ 6
calendar.firstweekday() # 返回当前每周起始日期的设置。默认情况下,首次载入`calendar`模块时返回0,即星期一。
c = calendar.calendar(2019) # 生成2019年的日历,并且以周日为其实日期码
print(c) # 打印2019年日历
print(calendar.isleap(2000)) # True.闰年返回True,否则返回False
count = calendar.leapdays(1996, 2010) # 获取1996年到2010年一共有多少个闰年
print(calendar.month(2019, 3)) # 打印2019年3月的日历
módulo hashlib
hashlib
Es un módulo que proporciona funciones de cifrado de caracteres, incluidos los algoritmos de cifrado MD5 y SHA, y admite específicamente md5, sha1, sha224, sha256, sha384, sha512 y otros algoritmos. Este módulo se usa ampliamente en la autenticación de inicio de sesión de usuario y el cifrado de texto también es común.
import hashlib
# 待加密信息
str = '这是一个测试'
# 创建md5对象
hl = hashlib.md5('hello'.encode(encoding='utf8'))
print('MD5加密后为:' + hl.hexdigest())
h1 = hashlib.sha1('123456'.encode())
print(h1.hexdigest())
h2 = hashlib.sha224('123456'.encode())
print(h2.hexdigest())
h3 = hashlib.sha256('123456'.encode())
print(h3.hexdigest())
h4 = hashlib.sha384('123456'.encode())
print(h4.hexdigest())
módulo hmac
El algoritmo HMAC también es un algoritmo de cifrado de entrada única y se basa en los diversos algoritmos hash/algoritmos hash anteriores, pero puede usar una clave durante la operación para mejorar la seguridad. hmac
El módulo implementa el algoritmo HAMC, proporciona funciones y métodos correspondientes y es hashlib
básicamente consistente con la API proporcionada.
import hmac
h = hmac.new('h'.encode(),'你好'.encode())
result = h.hexdigest()
print(result) # 获取加密后的结果
módulo de copia
copy
copy
Hay dos funciones en el módulo deepcopy
, que se utilizan para realizar copias superficiales y profundas de datos, respectivamente.
import copy
nums = [1, 5, 3, 8, [100, 200, 300, 400], 6, 7]
nums1 = copy.copy(nums) # 对nums列表进行浅复制
nums2 = copy.deepcopy(nums) # 对nums列表进行深复制
módulo uuid
UUID es un identificador único global de 128 bits, generalmente representado por una cadena de letras de 32 bytes, que puede garantizar la unicidad de tiempo y espacio, también conocido como GUID. La unicidad de la ID generada está garantizada por la dirección MAC, la marca de tiempo, el espacio de nombres, el número aleatorio y el número pseudoaleatorio. Genere aleatoriamente una cadena, que se puede usar como token, como cuenta de usuario o como número de pedido.
método | efecto |
---|---|
uuid.uuid1() |
Genere un UUID único basado en la dirección MAC, la marca de tiempo y el número aleatorio, lo que puede garantizar la exclusividad global. |
uuid.uuid2() |
El algoritmo es uuid1 el mismo que , la diferencia es que los primeros 4 dígitos de la marca de tiempo se reemplazan por el UID POSIX. Tenga en cuenta que no hay un algoritmo basado en DCE en Python, por lo que no hay ningún uuid2 método. |
uuid.uuid3(namespace,name) |
El UUID se genera calculando el hash MD5 del espacio de nombres y el nombre. Se garantiza que diferentes nombres en el mismo espacio de nombres tengan diferentes UUID, pero para el mismo nombre, el UUID resultante es el mismo. uuid Un espacio de nombres son algunos valores predefinidos en un módulo, como uuid.NAMESPACE_DNS , uuid.NAMESPACE_OID etc. |
uuid.uuid4() |
El UUID se genera mediante números pseudoaleatorios, que pueden repetirse con cierta probabilidad. |
uuid.uuid5(namespace,name) |
Es uuid3 básicamente lo mismo que , pero usa el algoritmo hash SHA1. |
En términos generales, cuando los requisitos para uuid no son muy complicados, uuid1
o uuid4
el método es suficiente para usar, el método de uso es el siguiente:
import uuid
print(uuid.uuid1()) # 根据时间戳和机器码生成uuid,可以保证全球唯一
print(uuid.uuid4()) # 随机生成uuid,可能会有重复
# 使用命名空间和字符串生成uuid.
# 注意以下两点:
# 1. 命名空间不是随意输入的字符串,它也是一个uuid类型的数据
# 2. 相同的命名空间和想到的字符串,生成的uuid是一样的
print(uuid.uuid3(uuid.NAMESPACE_DNS, 'hello'))
print(uuid.uuid5(uuid.NAMESPACE_OID, 'hello'))
Caso avanzado
[Python] Python se da cuenta del juego de adivinanzas: ¡desafía tu inteligencia y tu suerte!
[python] Use Selenium para obtener entradas (2023 Blog Star)
[Xiaobai debe ver] Python rastrea un ejemplo de datos de jugadores de la NBA
[Xiaobai debe ver] Visualización y procesamiento de datos del rastreador de Python
[Imprescindible para Xiaobai] Use Python para generar una lista personalizada de documentos de Word
Procesamiento y visualización de datos geoespaciales usando geopandas y shapely (.shp)
Utilice selenio para rastrear los datos de la lista de películas de Maoyan
Explicación detallada del principio y la implementación del algoritmo de mejora de imagen Retinex
Primeros pasos con los reptiles (1): aprenda los conceptos básicos y las habilidades de los reptiles
Conceptos básicos de programación orientada a objetos de Python y código de muestra
Guía de operación de archivos de Python: codificación, lectura, escritura y manejo de excepciones
Conjunto de herramientas de automatización de Selenium - Guía completa y tutoriales
Tutorial de los conceptos básicos del rastreador web de Python avanzados al combate real
Tutorial de procesamiento y análisis de datos de Pandas: desde lo básico hasta el combate real
Explicación detallada de los tipos de datos de uso común y las operaciones relacionadas en Python