Ich habe ein PyPI-Modul geschrieben, das den Parameterstil in Pythons sqlite3-Modul erweitert

sqlite3 akzeptiert qmark und wird als Parameterbindungsformate benannt, akzeptiert jedoch nicht die in PEP249 [^ 1] [^ 2] [^ 3] definierten Formate und Pyformatformate. Dies ist das Modul, das sie akzeptiert.

Python-Versionen wurden mit 2.7.8 und 3.4.1 getestet.

: Kuchen: Wie zu verwenden

pip install sqlite3paramstyle

Es bindet an den Teil von % s.

conn = sqlite3paramstyle.connect(":memory:")
cur = conn.cursor()
cur.execute("select %s, %s", ("foo", "bar"))
cur.fetchall()  # [("foo", "bar")]

Es unterstützt auch das erweiterte Python-Format.

cur.execute("select %(who)s, %(age)s", {"who": "John", "age": 20})
cur.fetchall()  # [("John", 20)]$

Ich hoffe es hilft irgendwo jemandem: Bier:

: Frosch: Hintergrund erstellt

Ich sollte Python-Code fast ohne Testcode pflegen und Tests leise hinzufügen, aber ich fand Python-Code, der "psycopg2" live verwendet. Ich wollte definitiv "SQL Alchemy" verwenden, aber es war eine schwierige Phase, die abhängigen Module zu ändern, und so beschloss ich, nicht so viel wie möglich zu ändern. Ich wollte nicht, dass der Postgresql-Prozess die ganze Zeit auf dem CI-Server ausgeführt wird, und die DB-Verbindung hatte eine Form, die von außen übergeben werden konnte. Daher habe ich beim Testen versucht, die Verbindung von "sqlite3" zu übergeben und auszuführen. Die von "psycopg2" akzeptierten Parameterstile sind jedoch die oben beschriebenen Format- und Pyformatformate, die mit "sqlite3" vollständig nicht kompatibel sind. Ich habe qmarkpg gefunden, das psycopg2 erweitert, um qmark-Stile zu akzeptieren. Warum also nicht ein Modul schreiben, das in die entgegengesetzte Richtung funktioniert? Sobald ich dachte.

Glücklich, ein PyPI-Autor zu sein: smiley_cat: Wow Wow

Referenzierte Site

So registrieren Sie sich bei PyPI

Wie man tox benutzt

Recommended Posts

Ich habe ein PyPI-Modul geschrieben, das den Parameterstil in Pythons sqlite3-Modul erweitert
Ich habe ein Skript geschrieben, das das Bild in zwei Teile teilt
Ein Memo, das ich schnell in Python geschrieben habe
Ich habe die Warteschlange in Python geschrieben
Ich habe den Stack in Python geschrieben
Ich habe ein Programm erstellt, das die Fehlersuche in Sekunden löst
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Ich habe einen Korpusleser geschrieben, der die Ergebnisse der MeCab-Analyse liest
Schriftliche Auswahlsortierung in C.
Ich habe den Gleitflügel in der Schöpfung geschrieben.
Ich habe PyQCheck, eine Bibliothek, die QuickCheck mit Python ausführen kann, in PyPI registriert.
Beachten Sie, dass ich den Algorithmus der kleinsten Quadrate verstehe. Und ich habe es in Python geschrieben.
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Ich habe ein Skript geschrieben, um die Schluckuhr wiederzubeleben, die bald sterben wird
Ich habe eine Klasse in Python3 und Java geschrieben
Ich habe ein Designmuster in der Kotlin Prototype Edition geschrieben
Ich habe versucht, ein Python 3-Modul in C hinzuzufügen
Ich habe einen japanischen Parser auf Japanisch mit Pyparsing geschrieben.
Eine Geschichte, die praktisch war, als ich versuchte, das Python-IP-Adressmodul zu verwenden
Ich habe ein Designmuster in der Kotlin Factory Edition geschrieben
Ich habe ein Designmuster in der Kotlin Builder Edition geschrieben
Ich habe ein Designmuster in der Kotlin Adapter Edition geschrieben
Ich habe ein Designmuster in Kotlin geschrieben, das von Iterator bearbeitet wurde
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
[Hinweis] Das installierte Modul kann nicht im Jupiter aufgerufen werden.
Ich habe ein Designmuster in der Kotlin Template Edition geschrieben
Ich habe ein Python-Skript geschrieben, das alle meine Beiträge mit der Qiita API v2 exportiert
Ich habe mit LightGBM einen Code geschrieben, der die Wiederherstellungsrate von 100% bei der Vorhersage von Pferderennen überschreitet (Teil 2).
Ich habe ein grobes Ansible-Modul geschrieben, mit dem Sie Virtualenv verwenden können, indem Sie Pythonz installieren.
Ich schrieb einen Test in "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren".
Ein Memorandum zur Registrierung der in Hy in PyPI geschriebenen Bibliothek
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Mezzanine-Einführungsnotiz, dass ich im Fluss stecken geblieben bin
Ich habe die Grundoperation von Seaborn im Jupyter Lab geschrieben
Wörter, die mich als Programmieranfänger interessiert haben
Ich habe versucht, "ein Programm, das doppelte Anweisungen in Python entfernt"
Ich habe es in der Sprache Go geschrieben, um das SOLID-Prinzip zu verstehen
Ich habe ein Skript geschrieben, um eine beliebte Seite in Japan zu bekommen
Gibt es eine Verzerrung in den Zahlen, die in den Fibonacci-Zahlen erscheinen?
Ich habe die Grundoperation von Numpy im Jupyter Lab geschrieben.
Ein Memorandum, das Sie häufig mit Selen in Python verwenden
Beachten Sie, dass ich süchtig danach war, mit Pythons mysql.connector über eine Webanwendung auf die Datenbank zuzugreifen