Ich träume von einer Python-Bibliothek, die das Dateihandling meiner Anwendung abstrahiert.
Die Anwendung sollte in zwei verschiedenen Konfigurationen ausgeführt werden:
Ich möchte eine Trennung der Interessen vornehmen .
Dem Anwendungscode sollte es egal sein, welche Konfiguration verwendet wird. Die Auswahl der richtigen Konfiguration (mit oder ohne Speicherserver) erfolgt über das Konfigurationsmanagement.
Ich brauche nicht alle Dateioperationen, die ich über os
und machen kann os.path
. Ich brauche nur alle Operationen, die über s3 durchgeführt werden können.
Andere erforderliche Funktionen:
Ich möchte nicht alle Dateioperationen (wie os.walk()
). Ich brauche nur die grundlegenden Speicher-APIs von s3, aber ohne einen laufenden Speicherserver.
Ich schlage vor, Sie probieren Siilo aus .
Es ist eine Speicherabstraktionsschicht für Python.
Siilo bietet Ihnen eine Basis-API mit Operationen wie open
und delete
, die Sie verwenden können, ohne sich Gedanken darüber zu machen, was unten verwendet wird.
Es unterstützt:
Minuspunkte:
write
Sie ihn bei Bedarf selbst implementieren (in diesem Fall senden Sie bitte eine Pull-Anfrage).Pluspunkte:
Es gibt eine Python-Bibliothek, um die boto (s3)-Bibliothek zu verspotten:
https://github.com/spulec/moto
Moto ist eine Bibliothek, die es Ihren Python-Tests ermöglicht, die Boto-Bibliothek einfach zu verspotten
Es kann im eigenständigen Servermodus ausgeführt werden, wenn Sie von einer anderen Programmiersprache aus darauf zugreifen möchten