2

フラッシュドライブが挿入されるたびに検出できました。ただし、(ばかげているように聞こえますが) 複数の USB が挿入されているかどうかを検出するのに問題があります。また、そこからデータを読み取るコードを書くのに苦労しています。誰か助けてくれませんか?事前に感謝します:) PS私のシステムはWindows 8 64ビットです。全体は、センサーから選択する信号を検出することです。

ここにUSBを検出するコードがあります

import string  
from ctypes import windll  
import time  
import os  
def get_drives():  
    drives = []  
    bitmask = windll.kernel32.GetLogicalDrives()  
    for letter in string.uppercase:  
        if bitmask & 1:  
            drives.append(letter)  
        bitmask >>= 1  
    return drives  
if __name__ == '__main__':  
    before = set(get_drives())  
    pause = raw_input("Please insert the USB device, then press ENTER")  
    print ('Please wait...')  
    time.sleep(5)  
    after = set(get_drives())  
    drives = after - before  
    delta = len(drives)  
    if (delta):  
        for drive in drives:  
            if os.system("cd " + drive + ":") == 0:  
                newly_mounted = drive  
                print "There were %d drives added: %s. Newly mounted drive letter is   %s" %   (delta, drives, newly_mounted)  
    else:  
        print "Sorry, I couldn't find any newly mounted drives."  
4

0 に答える 0