Wie das Betriebssystem eine externe Festplatte erkennt. Ich meine, welche Prozedur oder Systemaufrufe es über die Festplatte wissen lassen. Gibt es eine Möglichkeit, automatisch festzustellen, ob die externe Festplatte angeschlossen wurde?Wie das Betriebssystem die USB-Festplatte erkennt, wenn sie verbunden ist
Antwort
(die einzige Frage in Ihrer Frage zu beantworten.)
Für Windows müssen Sie ein Fenster erstellen und zu handhaben die WM_DEVICECHANGE Nachricht, insbesondere das DBT_DEVICEARRIVAL
Ereignis (die automatisch gesendet wird, ohne Registrierung).
Um dies von Python zu tun, ohne ein Fenster zu erstellen, ist das Beste, was Sie tun können, regelmäßig zu testen, ob die Stammpfade vorhanden sind (einmal pro Sekunde ist wahrscheinlich ausreichend, wenn Sie schneller als Python reagieren müssen) gehen Sie nicht arbeiten).
import os.path
for letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
drive_mounted[letter] = os.path.exists(letter + ":")
(die nicht-Fragen in Beantwortung Ihrer Frage)
das Betriebssystem erkennt USB/eSATA-Geräte, da die USB/eSATA-Controller auf der Motherboard wird einen Interrupt auf der CPU auslösen. Das Betriebssystem erkennt diesen Interrupt und fragt den Controller nach dem Gerät, installiert alle notwendigen Treiber, aktiviert die Treiber, identifiziert einen Mount-Punkt (Laufwerksbuchstabe) und gibt einen Soundeffekt aus.
(Nichts von alldem nichts mit Python zu tun hat, so dass ich davon ausgehen, es auch nichts mit dieser Frage zu tun hat.)
Das ist toll info Zooba, danke. SO, wie eine Aufgabe automatisch ausgeführt wird, wenn das Gerät eine Verbindung zum System herstellt, zum Beispiel eine Liste aller Mediendateien erhält und überprüft, ob diese in meinem System vorhanden sind? – VarunVyas
Auch wäre es toll wenn du mir etwas für Linux ankommst. – VarunVyas
Ich benutze kein Linux, also kann ich nicht über die Plattform-unabhängige Methode helfen, die ich oben vorgeschlagen habe ('os.path.exists'). Um etwas zu tun, wenn dies passiert, muss Ihr Programm einfach die ganze Zeit auf dieses Ereignis warten - dann kann es alles tun, wenn es passiert. Alternativ dazu können Sie die Autostart-Funktion Ihres Betriebssystems (falls vorhanden) verwenden, damit Ihr Programm ausgeführt wird, wenn ein Gerät verbunden ist (obwohl Python für diesen Ansatz möglicherweise nicht geeignet ist). Zu den relevanten Keywords gehören "Benachrichtigung beim automatischen Einfügen", "Autoplay" und "Autorun". – Zooba
welches Betriebssystem? –