1. Datum/Uhrzeit-Modul
1.1 Hauptmodule
datetime.date() #Verarbeitungsdatum (Jahr, Monat, Tag) datetime.time() #Verarbeitungszeit (Stunde, Minute, Sekunde und Millisekunde) datetime.datetime() #Verarbeitungsdatum + Uhrzeit datetime.timedelta() #Verarbeitungszeitraum (Zeitintervall)
#获取今天的时间
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 Zeitstempel
Der Zeitstempel bezieht sich auf die Gesamtzahl der Sekunden vom 1. Januar 1970, 00:00:00 GMT bis heute.
1.2.1 Konvertieren von Datumsangaben in Zeitstempel und Zeitstempeln in Datumsangaben
timetuple-Funktion: Konvertieren Sie das Datum in das struct_time-Format
time.mktime-Funktion: Gibt eine Gleitkommazahl zurück, die die Zeit in Sekunden darstellt
import datetime,time
today = datetime.date.today()
print(today.timetuple())
print(time.mktime(today.timetuple()))
print(datetime.date.fromtimestamp(1668614400.0))
1.2.2 Zeitliche Addition und Subtraktion
Die Methode timedelta() stellt das Intervall zwischen zwei Zeitpunkten dar
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. Kalendermodul
Mehrere mit dem Kalender verbundene Funktionen und Klassen können einen Kalender in Textform generieren.
2.1 Gemeinsame Funktionen
Kalender importieren Calendar.calendar(<Jahr>) Calendar.Monat(<Jahr>,<Monat>) #mehrzeilige Zeichenfolge zurückgeben Calendar.prMonat(<Jahr>,<Monat>) #entspricht print(calendar.month(< Jahr>,<Monat>)) Calendar.prcal(<Jahr>) #entspricht print(calendar.calendar(<Jahr>))
import calendar
print(calendar.month(2022,11))
print(calendar.calendar(2022))
Die Ausgabe zeigt:
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 Listen Sie den Kalender auf
Calendar.monthcalendar()
Gibt einen Kalender eines bestimmten Monats in einem bestimmten Jahr zurück, bei dem es sich um eine verschachtelte Liste handelt. Die innerste Liste enthält sieben Elemente, die eine Woche (Montag bis Sonntag) darstellen. 0, wenn es keinen Tag im Monat gibt.
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 Beurteilung eines Schaltjahres
Calendar.isleap(<年>)
import calendar
print(calendar.isleap(2022))
print(calendar.isleap(2000))
输出结果:
False
True
2.4 Beurteilung der Anzahl der Monate und Wochentage
Wenn der Wochentag für einen bestimmten Monat berechnet wird und es insgesamt Tage gibt, beginnt er bei 0, Montag, Dienstag ...
Bei der Berechnung des Wochentags werden 0-6 zurückgegeben, was Montag bis Sonntag entspricht.
import calendar
print(calendar.monthrange(2022,11))
print(calendar.weekday(2022,11,18))
输出结果:
(1, 30)
4
Drei, Zeitmodul
3.1 Zeitstempel abrufen
time.time()-Methode
Berechnen Sie die Laufzeit eines Programms
import time
t1 = time.time()
a = 0
for i in range(10000):
a += i
print(a)
t2 = time.time()
print(t2-t1)
3.2 Datumsformat abrufen
3.2.1 Aktuelle Uhrzeit abrufen
import time
t1 = time.asctime()
t2 = time.ctime()
print(t1)
print(t2)
3.2.2 Konvertieren Sie Tupeldaten in das aktuelle Datum
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 Verwenden Sie den Index, um Zeitinformationen zu erhalten
import time
print(time.localtime())
t = time.localtime()
year = t[0]
print(year)
4. Arithmetikmodul
4.1 Zufallsmodul _
Pseudozufallszahl: Die Zufallsfunktion im Computer wird nach einem bestimmten Algorithmus simuliert und das Ergebnis ist deterministisch und vorhersehbar.
Zufallszahlen-Startwert: Der Zufallszahlen-Startwert ist derselbe und auch die Zufallszahlenfolge ist gleich.
random.seed(a = None)
random() #Erzeuge eine zufällige reelle Zahl im Bereich [0,1)
uniform() #Generieren Sie eine zufällige Gleitkommazahl innerhalb des angegebenen Bereichs
randint(m,n) #Generieren Sie eine Ganzzahl innerhalb des angegebenen Bereichs [m,n]
randrange(a,b,n) #Sie können innerhalb des Bereichs von [a,b) zufällig eine Zahl aus der Menge auswählen, die um n erhöht wird.
getrandbits(k) #Generieren Sie k-Bit-binäre Zufalls-Ganzzahlen
choice() # Wählen Sie zufällig ein Element aus der angegebenen Sequenz aus
sample() #kann jedes Mal die Anzahl der zufälligen Elemente angeben
shuffle() # Sortiert alle Elemente in der Variablensequenz zufällig
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. Modul zum Lesen und Schreiben von Dateitexten
5.1 Öffnen von Dateien
open()-Funktion:
f = open(Dateiname[,Modus[,Puffer]])
f: das von open() zurückgegebene Dateiobjekt
Dateiname: der Stringname der Datei
Modus: optionaler Parameter, Öffnungsmodus und Dateityp
Pufferung: optionaler Parameter, der Puffer der Datei, der Standardwert ist -1
Öffnungsmodus der Datei:
Der erste Buchstabe des Modus gibt den darauf ausgeführten Vorgang an:
'r': zeigt den Lesemodus an
'w': Zeigt den Schreibmodus an
'x': Zeigt an, dass die Datei neu erstellt und geschrieben wird, wenn die Datei nicht vorhanden ist
'a': Zeigt an, dass der Inhalt am Ende der Datei angehängt wird
'+': Zeigt den Lese- und Schreibmodus an
Der zweite Buchstabe des Modus ist der Dateityp:
't': Gibt den Texttyp an
'b': gibt eine Binärdatei an
5.2 Dateien lesen, schreiben und darauf zugreifen
Dateischreibvorgänge:
f.write(str)
f.writelines(strlist): Schreiben Sie eine Liste von Zeichenfolgen
Dateilesevorgang:
f.read()
f.readline(): gibt eine Zeile zurück
f.readlines(): alle Zeilen zurückgeben, Liste
f = open('mytxt','w')
f.writelines(['apple\n','orange\n'])
f.close()
f = open('mytxt','r')
print(f.readlines())
f.close()
Nach dem Öffnen der Datei müssen Sie daran denken, sie zu schließen. Die Funktion des Schließens besteht darin, die Verbindung zur externen Datei zu beenden und gleichzeitig die Daten im Cache-Bereich auf der Festplatte zu aktualisieren.
5.3 Strukturierte Textdateien: CSV
Datei lesen – Leser
re = csv.reader()
Akzeptiert ein iterierbares Objekt (z. B. eine CSV-Datei) und gibt einen Generator zurück, von dem der Inhalt analysiert werden kann.
Dateilesen – DictReader
Ähnlich wie der Reader eignet er sich für CSV-Dateien mit Headern und jede zurückgegebene Zelle wird in einem Tupelwert platziert.
Dateischreibvorgang:
w = csv.writer()w.writerow(Zeilen)
Wenn die Datei nicht vorhanden ist, wird sie automatisch generiert und unterstützt einzeiliges und mehrzeiliges Schreiben
Wörterbuchdaten werden geschrieben:
w = csv.DictWriter()
w.writeheader()
w.writerow(Zeilen)