psycopg2 - Zugangsdaten aus separater Datei

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
puba
User
Beiträge: 9
Registriert: Dienstag 22. Juli 2008, 18:53

Mittwoch 10. Januar 2018, 19:54

Hallo,
wie kann ich realisieren,
dass die Zugangsdaten (user, password,host) beim Datenbankabruf durch psycopg2 nicht in der Progammdatei stehen, sondern aus einer separaten Datei (möglichst Text-Datei) gelesen werden.
Geht das über import?

Gruß
Armin
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 10. Januar 2018, 19:59

Hallo,
Geht das über import?
Ja - wenn das andere ein Datei ist, die Python enthält. Alternativ kannst du natürlich eine Datei mit JSON mit dem json-Modul lesen, eine INI-Datei mit configparse, eine Text-Datei mit `open` usw. Es gibt viele Wege...

Gruß, noisefloor
Hofei
User
Beiträge: 14
Registriert: Freitag 6. Januar 2017, 20:15

Freitag 12. Januar 2018, 07:50

Hallo,

grundsätzlich trenne ich Programmcode von Einstellungen und Daten.
Mein aktuell bevorzugtes Modul dazu nennt sich toml // Pythonmodul toml
Bei toml bleiben die Datentypen erhalten, das File dennoch auch leicht mit einem Editor lesbar.
Sirius3
User
Beiträge: 8259
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 12. Januar 2018, 09:02

@Hofei: warum sollte man ein relativ unbekanntes Format, das sich irgendein Tom ausgedacht hat, verwenden, wenn es für den exakt selben Zweck schon YAML gibt?
Hofei
User
Beiträge: 14
Registriert: Freitag 6. Januar 2017, 20:15

Freitag 12. Januar 2018, 09:27

Das ist eine gute aber auch subjektive Frage.
Was ließt sich schöner: klick mich

Bei mir liegt wohl einfach ein Hauptgrund darin, dass mir toml sehr bald in meiner "Python Karriere :lol: " empfohlen wurde, ich das File als Übersichtlich empfinde und das Modul schnell und einfach zum Ergebnis führt. YAML kannte ich bis dato nicht :K

Das mehrere Wege nach Rom führen...klar. Jeder soll das verwenden mit dem er am besten zurecht kommt.
Benutzeravatar
noisefloor
User
Beiträge: 2456
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Freitag 12. Januar 2018, 14:55

Hallo,

bei genau drei Werten ist IMHO aber sowohl yaml als auch toml übertrieben bzw. außer Overhead zum Auslesen bringt das nix. Da würde ich im gegeben Fall auf eine Python-Datei gehen und die Werte importieren oder vielleicht nicht JSON.

Gruß, noisefloor
DasIch
User
Beiträge: 2462
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Samstag 13. Januar 2018, 01:56

psycopg2 basiert auf libpq und man kann es damit also wie jeden anderen postgres client konfigurieren. Du kannst also Umgebungsvariablen, .pgpass usw. nutzen.
Antworten