Es ist möglich, aber es ist keine gute Idee, Code und Daten (jegliche Art - Konfiguration, HTML usw.) aus mindestens zwei Gründen zu mischen:
- Design - Sie landen bei der sogenannten hohen Kopplung . Situationen, in denen es viele Abhängigkeiten gibt, die schwer nachzuvollziehen sind und Ihre App immer schwieriger zu ändern ist.
- Sicherheit – Ihre Zugangsdaten landen früher oder später in einem Code-Backup-Archiv oder Repository. Config-Datei kann zusätzlich verschlüsselt werden, py-Datei nicht wirklich. Wenn es sich um eine Web-App handelt, ist es einfacher, den Zugriff auf eine einzelne Konfigurationsdatei zu beschränken als auf alle Py-Dateien, die sensible Daten enthalten können.
Sie können diese separate, einfach zu verwendende Verbindungsverwaltungsfunktion immer noch erstellen. Aber verschieben Sie Ihre Verbindungsdaten in eine separate Konfigurationsdatei.
config.ini:
[mysqlDB]
host = '0.0.0.0'
db = 'test'
user = 'root'
pass = 'pswd'
Sie können die Konfiguration in Ihrer Verbindungs-Py-Datei lesen oder sie globaler machen (dh Singleton?). Wenn Sie die Konfiguration in der Verbindungsdatei lesen möchten:
storage.py:
import configparser
import MySQLdb.cursors
config = configparser.ConfigParser()
config.read('config.ini')
def connect():
return MySQLdb.connect(host = config['mysqlDB']['host'],
user = config['mysqlDB']['user'],
passwd = config['mysqlDB']['pass'],
db = config['mysqlDB']['db'])
Anwendungsbeispiel:
import storage
conn = storage.connect()