Textdatei auf beliebigen USB-Stick speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Python1234
User
Beiträge: 9
Registriert: Mittwoch 18. September 2013, 16:31

Hallo,

mein Programm erstellt eine Textdatei. Diese soll direkt auf einen USB-Stick gespeichert werden. Der Pfad des Sticks ist immer /media/"Name des USB-Sticks". Die Textdatei wird mit folgendem Befehl erzeugt:

Code: Alles auswählen

outfile = open('/media/"Name des USB-Sticks"/Test.txt','w')
Der Pfad in dem die Textdatei gespeichert werden soll, ändert sich jedoch, wenn man verschiedene USB-Sticks mit unterschiedlichem Namen in den USB-Port steckt.

Wie kann ich es realisieren, dass ich die Datei immer auf das eingesteckte Speichermedium speichere, ohne den Label-Namen des Speichermediums zu verwenden? Oder ist es möglich den Name des eingestickten Sticks auszulesen und als Variable zu deklarieren und so als Pfad anzugeben?

Vielen Dank im Voraus.
BlackJack

@Python1234: Du könntest alle Verzeichnisse in ``/media/`` durchgehen und testen ob dort ein Dateisystem gemountet ist. Die Frage ist dann was passieren soll wenn dort mehrere Medien eingebunden sind, also mehr als ein Stick, oder eine CD/DVD oder externe Festplatte.

Hier ist mal ein Test mit einem USB-Stick unter ``/media/spaceloop`` während ``/media/disk1`` ein Verzeichnis ist unter dem sonst eine externe Festplatte eingehängt ist, die momentan ausgeschaltet ist:

Code: Alles auswählen

In [2]: os.path.ismount('/media/disk1')
Out[2]: False

In [3]: os.path.ismount('/media/spaceloop')
Out[3]: True
Python1234
User
Beiträge: 9
Registriert: Mittwoch 18. September 2013, 16:31

Ich will das Ganze für jeden xbeliebigen Stick und nicht für eine Auswahl an Sticks.

Die Datei soll auf jeden USB-Stick gespeichert werden egal wie sein Label ist. Es ist immer nur ein USB Stick eingesteckt, es muss also nicht zwischen verschiedenen Sticks unterschieden werden.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

BlackJack hat dir doch gesagt, wie du das generisch angehen kannst. Gehe einfach durch alle Ordner in ``/media``, schaue nach ob ein Dateisystem gemountet ist und wenn ja, dann versuchst du einfach zu schreiben.
Das Leben ist wie ein Tennisball.
BlackJack

@Python1234: Grundsätzlich ist das natürlich schon ein wenig unsicher zu behaupten da ist immer nur ein Stick angesteckt. Kann ja auch mal jemand etwas anderes anschliessen was dann dort gemounted wird. Auch Sachen wo man gar nicht unbedingt mit rechnet. Ich hatte zum Beispiel mal eine USB-Soundkarte angeschlossen die gleichzeitig einen (read-only) Massenspeicher zur Verfügung gestellt hat wo die Software für Windows vom Hersteller drauf war. Smartphones machen so etwas auch manchmal. Und Mediaplayer. Und wer weiss was sonst noch. :-)
Antworten