1. módulo de fecha y hora
1.1 Módulos principales
datetime.date() #fecha de procesamiento (año, mes, día) datetime.time() #tiempo de procesamiento (hora, minuto, segundo y milisegundo) datetime.datetime() #fecha de procesamiento + hora datetime.timedelta() #período de procesamiento (intervalo de tiempo)
#获取今天的时间
print(datetime.date.today())
print(datetime.datetime.now())
print(datetime.date.today().strftime("%Y-%m-%d %H-%M-%S"))
print(datetime.datetime.now().isoformat())
1.2 Marca de tiempo
La marca de tiempo hace referencia al número total de segundos desde el 1 de enero de 1970 a las 00:00:00 GMT hasta el presente.
1.2.1 Convertir fechas en marcas de tiempo y marcas de tiempo en fechas
función timetuple: convierte la fecha al formato struct_time
Función time.mktime: Devuelve un número de punto flotante que representa el tiempo en segundos
import datetime,time
today = datetime.date.today()
print(today.timetuple())
print(time.mktime(today.timetuple()))
print(datetime.date.fromtimestamp(1668614400.0))
1.2.2 Suma y resta en el tiempo
El método timedelta() representa el intervalo entre dos puntos de tiempo
import datetime
today = datetime.datetime.now()
print(today)
yesterday = today - datetime.timedelta(days=1)
print(yesterday)
hours = today - datetime.timedelta(hours=1)
print(hours)
2. Módulo de calendario
Varias funciones y clases relacionadas con el calendario pueden generar un calendario en forma de texto.
2.1 Funciones comunes
import calendar calendar.calendar(<año>) calendar.month(<año>,<mes>) #return cadena multilínea calendar.prmonth(<año>,<mes>) #equivalente a print(calendar.month(< Año>,<mes>)) calendar.prcal(<año>) #equivalente a print(calendar.calendar(<año>))
import calendar
print(calendar.month(2022,11))
print(calendar.calendar(2022))
La salida muestra:
E:\ProgramData\Anaconda3\python.exe C:/Users/dl/PycharmProjects/MyProjects/1.py
November 2022
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
2022
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 1 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
30 31
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 1 2 3 4 5 6 7 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 1 2 3 4 5 6 1 2 3 4
3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
2.2 Listar el calendario
calendario.monthcalendar()
Devuelve un calendario de un mes determinado en un año determinado, que es una lista anidada. La lista más interna contiene siete elementos que representan una semana (de lunes a domingo). 0 si no hay día del mes.
import calendar
print(calendar.monthcalendar(2022,11))
输出结果:
[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27], [28, 29, 30, 0, 0, 0, 0]]
2.3 Evaluación del año bisiesto
calendario.isleap(<年>)
import calendar
print(calendar.isleap(2022))
print(calendar.isleap(2000))
输出结果:
False
True
2.4 Juzgar el número de meses y días de la semana
A la hora de calcular el día de la semana de un determinado mes, cuando hay un total de días, se empieza por 0, lunes, martes...
Al calcular el día de la semana, se devuelve 0-6, correspondiente a lunes a domingo.
import calendar
print(calendar.monthrange(2022,11))
print(calendar.weekday(2022,11,18))
输出结果:
(1, 30)
4
Tres, módulo de tiempo
3.1 Obtener marca de tiempo
método time.time()
Calcular el tiempo de ejecución de un programa.
import time
t1 = time.time()
a = 0
for i in range(10000):
a += i
print(a)
t2 = time.time()
print(t2-t1)
3.2 Obtener formato de fecha
3.2.1 Obtener la hora actual
import time
t1 = time.asctime()
t2 = time.ctime()
print(t1)
print(t2)
3.2.2 Convertir datos de tupla hasta la fecha
import time
t = (2022,11,18,11,8,30,0,0,0)
print(time.asctime(t))
输出结果:
Mon Nov 18 11:08:30 2022
3.3 Usar el índice para obtener información de tiempo
import time
print(time.localtime())
t = time.localtime()
year = t[0]
print(year)
4. Módulo aritmético
4.1 módulo aleatorio
Número pseudoaleatorio: la función aleatoria en la computadora se simula de acuerdo con un cierto algoritmo, y el resultado es determinista y predecible.
Semilla de números aleatorios: la semilla de números aleatorios es la misma y la secuencia de números aleatorios también es la misma.
random.seed(a = Ninguno)
random() #Generar un número real aleatorio en el rango [0,1)
uniform() #Generar un número de punto flotante aleatorio dentro del rango especificado
randint(m,n) #Generar un entero dentro del rango especificado [m,n]
randrange(a,b,n) #Puede seleccionar aleatoriamente un número del conjunto aumentando en n dentro del rango de [a,b)
getrandbits(k) #Generar enteros aleatorios binarios de k bits
choice() # Selecciona aleatoriamente un elemento de la secuencia especificada
sample() #puede especificar el número de elementos aleatorios cada vez
barajar() # ordenar aleatoriamente todos los elementos en la secuencia variable
import random
colors = ['red','green','blue','yellow','black']
print(random.choice(colors))
print(random.sample(colors,3))
random.shuffle(colors)
print(colors)
输出结果:
black
['black', 'blue', 'green']
['red', 'blue', 'green', 'yellow', 'black']
5. Módulo de lectura y escritura de texto de archivo
5.1 Apertura de expedientes
abrir() función:
f = abrir (nombre de archivo [, modo [, almacenamiento en búfer]])
f: el objeto de archivo devuelto por open()
filename: el nombre de la cadena del archivo
modo: parámetro opcional, modo abierto y tipo de archivo
almacenamiento en búfer: parámetro opcional, el búfer del archivo, el valor predeterminado es -1
Modo abierto del archivo:
La primera letra del modo indica la operación en él:
'r': indica modo de lectura
'w': Indica el modo de escritura
'x': indica que el archivo se creó recientemente y se escribe si el archivo no existe
'a': Indica que el contenido se adjunta al final del archivo
'+': Indica el modo de lectura y escritura
La segunda letra de modo es el tipo de archivo:
't': Indica el tipo de texto
'b': indica un archivo binario
5.2 Lectura, escritura y acceso a archivos
Operaciones de escritura de archivos:
f.escribir(cadena)
f.writelines(strlist): escribe una lista de cadenas
Operación de lectura de archivos:
f.leer()
f.readline(): devuelve una línea
f.readlines(): devuelve todas las líneas, lista
f = open('mytxt','w')
f.writelines(['apple\n','orange\n'])
f.close()
f = open('mytxt','r')
print(f.readlines())
f.close()
Después de abrir el archivo, debe recordar cerrarlo. La función de cerrar es finalizar la conexión con el archivo externo y actualizar los datos en el área de caché en el disco duro al mismo tiempo.
5.3 Archivos de texto estructurado: CSV
Lectura de archivos: lector
re = csv.lector()
Acepta un objeto iterable (como un archivo csv) y devuelve un generador desde el que se puede analizar el contenido.
Lectura de archivos—DictReader
Similar al lector, es adecuado para archivos csv con encabezados, y cada celda devuelta se coloca en un valor de tupla.
Operación de escritura de archivos:
w = csv.writer()w.writerrow(filas)
Cuando el archivo no existe, se genera automáticamente y admite la escritura de una sola línea y la escritura de varias líneas.
Los datos del diccionario se escriben:
w = csv.DictWriter()
w.writeheader()
w.writerrow(filas)