6
votes

Comment détecter le plug-in Flash Drive dans Windows à l'aide de Python?

Je veux que mon ordinateur Windows exécute un script Python lorsqu'il détecte qu'un lecteur flash qui a un nom particulier (par exemple, «mon lecteur») a été branché.

Comment puis-je y parvenir?

Devrais-je utiliser un outil sous Windows ou y a-t-il un moyen d'écrire un autre script Python pour détecter la présence d'un lecteur flash dès qu'il est branché? (Je préférerais cela si le script était sur l'ordinateur.)

(Je suis une programmation débutant ..)


0 commentaires

3 Réponses :


3
votes

Eh bien, si vous êtes sur une distribution Linux, alors Cette question sur alors aurait la réponse.

Je peux penser à une solution ronde (non élégante) pour votre problème, mais à tout le moins, cela fonctionnerait.

Chaque fois que vous insérez votre lecteur flash dans un port USB, le système d'exploitation Windows attribue un lettre de conduire à elle. Aux fins de la présente discussion, appelons cette lettre 'f'.

Ce code semble voir si nous pouvons CD dans F: \ . S'il est possible de CD dans f: \ , nous pouvons terminer, nous pouvons conclure que "F" a été alloué en tant que lettre de lecteur, et sous l'hypothèse que votre lecteur flash est toujours attribué à "F", Nous pouvons conclure que votre lecteur flash a été branché. xxx


2 commentaires

Mais le lecteur ne sera pas toujours attribué à la même lettre. Comment puis-je expliquer cela?


C'est juste la chose. Je ne peux pas penser à une façon de le faire tout de suite. Mais à tout le moins, c'est une solution partielle. Je l'ai posté seulement parce qu'il n'y avait pas d'autre solution à l'époque. Donc j'ai pensé qu'une solution partielle serait meilleure que rien du tout



4
votes

Bien que vous puissiez utiliser une méthode similaire comme «inpectorg4dget» suggéré, mais qui sera beaucoup inefficace.

Vous devez utiliser Win API pour cela. Cette page pourrait vous être utile: lien

et d'utiliser Win API's in Python Vérifiez ce lien: lien


1 commentaires

Cela fonctionne, mais nécessite l'installation d'au moins un module supplémentaire



5
votes

Construire sur l'approche "CD", que se passe-t-il si votre script a énuméré la liste des lecteurs, attendit quelques secondes pour que Windows affecte la lettre de lecteur, puis re-énuméra la liste? Un ensemble Python pourrait vous dire ce qui a changé, non? Ce qui suit a fonctionné pour moi: xxx


0 commentaires