Das Beispiel in diesem Artikel beschreibt, wie Python SQLite implementiert, um Felder als Indizes abzufragen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Standardmäßig werden die von SQLite erhaltenen Daten während der Entwicklungsphase häufig geändert, sodass es tatsächlich unpraktisch ist, den Quellcode direkt zu lesen von sqlite3, ein bisschen herumgefummelt und es gelöst. Der Plan ist wie folgt:
Verwenden Sie für die Standardverbindung den folgenden Code, der durch Zahlen indiziert ist:
conn = sqlite3.connect(dbfile) cur = conn.cursor()
Um den erhaltenen Ergebnissatz feldweise indexieren zu lassen, müssen Sie eine Funktion und eine Klasse hinzufügen:
def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d class MyCursor(sqlite3.Cursor): def __init__(self, *args, **kwargs): sqlite3.Cursor.__init__(self, *args, **kwargs) self.row_factory = dict_factory
Ändern Sie dann den Verbindungscode:
conn = sqlite3.connect(dbfile) cur = conn.cursor(factory=MyCursor)
Was danach gelesen wird, wird vom Feld indiziert.
Leser, die an weiteren Python-bezogenen Inhalten interessiert sind, können sich die speziellen Themen auf dieser Website ansehen: „Zusammenfassung allgemeiner Kenntnisse im Betrieb von Python-Datenbanken“, „Tutorial zu Python-Datenstruktur und -Algorithmen“, „Zusammenfassung der Kenntnisse in der Programmierung von Python-Sockets“. , „Zusammenfassung der Fähigkeiten zur Verwendung von Python-Funktionen“, „Zusammenfassung der Fähigkeiten zum Betrieb von Python-Strings“, „Python-Einführung und fortgeschrittenes klassisches Tutorial“ und „Zusammenfassung der Fähigkeiten zum Betrieb von Python-Dateien und -Verzeichnissen“
Ich hoffe, dass dieser Artikel für alle in der Python-Programmierung hilfreich sein wird.