Abfrage ob USB Stick eingesteckt

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo

    Ich würde gerne in Python abfragen ob ein USB Stick am USB-Port angeschlossen ist und anschließend eine Datei darauf kopieren.
    Folgendes Prinzip stelle ich mir vor:

    If USB-Stick ist erreichbar:
    Copy Datei auf den Stick


    Da ich nicht viel Erfahrung mit dem Mounten von USB-Speichern unter Linux habe, wäre dazu einige Tips sehr hilfreich.

    Gruß Jan

  • Schau doch in die /proc/mounts Datei. Da findest du alle angemeldeten Filesysteme. Entweder pruefst du das periodisch, oder benutzt einen notification-Service wie inotify.

  • Wenn man ein USB-Stick einsteckt passiert zumindest eins: Es wird ein Device-File in /dev/ erzeugt.

    Je nach Systemkonfiguration wird der Stick sogar gemounted, entweder nach /media/ oder /mnt/.

    Ein USB-Stick hat ebenfalls eine Partition die man abfragen kann sofern diese gemounted ist, und zwar über die Datei /proc/partitions ... Das ist ähnlich wie /proc/mounts und hat die gleiche Bedingung: Device muss bereits eingebunden/mounted sein bevor es dort drin steht.

    Man könnte mithilfe 'os.path.ismount' eine Abfrage auf den Mountpoint machen:

    [code=php]
    import os.path
    from time import sleep

    while True:
    if os.path.ismount("/media/usbstick1"):
    print "USB-Stick available!"
    break
    sleep(1)
    [/php]

    Es gibt auch Python Module um das Device dann direkt einzuhängen wie zB "sh" oder "pylibmount".

    Das ist auch interessant: https://github.com/MrVallentin/mount.py/blob/master/mount.py

  • Hallo,

    wenn man einen USB- Stick ansteckt, wird er immer in einem bestimmten Verzeichnis eingebunden. Wenn der Stick eingesteckt wird erscheint bei mir ein Dialog, Dateimanager öffnen?

    Wenn ja, dann sieht man welches Verzeichnis das ist. Jetzt muß man nur dieses Verzeichnis auslesen.

    Wenn ein bestimmter USB-Stick erkannt werden soll, kann man darauf eine Datei mit einem bestimmten Namen speichern. Über das Erkennen der Datei weiss man dann, das man im richtigen Verzeichnis oder besser auf dem richtigen Stick ist.

    Wie man das unter Pythonaber schreibt kann ich nicht weiterhelfen, weil ich unter Lazarus arbeite. Der Ablauf sollte in jeder Programmiersprache realisierbar sein.


  • wenn man einen USB- Stick ansteckt, wird er immer in einem bestimmten Verzeichnis eingebunden.
    Wenn ja, dann sieht man welches Verzeichnis das ist. Jetzt muß man nur dieses Verzeichnis auslesen.

    Üblicherweise /media/<username>/[<Stickname>|<zahlenfolge>]

    Die Methode von meigrafd ist die bessere!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!