私にはSDカードを持つUSBコンポジットデバイスがあります。 Pythonを使って、デバイスが接続されているときにSDカードのドライブ文字を見つける方法が必要です。誰にもこの経験はありますか?最初はWindowsで動作する必要がありますが、最終的にはMacとLinuxに移植する必要があります。Pythonを使用してUSBデバイスのドライブ文字を確認します
0
A
答えて
1
USBポートにSDカードが接続されていません。あなたが始めるためには、を Windowsで試してみてください。 Golden's WMIをインストールしてください。私はWindowsの.zipがインストールされないことが分かったが、pipバージョンはうまく動作するか、少なくともWin7では動作する。次に、このようなコードで論理ディスクをリストすることができます。
>>> import wmi
>>> c=wmi.WMI()
...
>>> for disk in c.Win32_LogicalDisk():
... print(disk)
このコードでは、NASに関する記述が含まれているため、SDカードに期待しています。様々な洗練が可能です。
1
ビルのアドバイスのおかげで、私はWMIクエリを使用してこの問題を解決することができました。彼の答えで述べたように、Tim GoldenのWMI moduleをインストールする必要があります。
この例では、「WDC WD20EZRX-00D8PB0 ATA Device」というモデルのディスクのドライブ文字を検索します。接続されているすべてのドライブを表示します。
import wmi
c = wmi.WMI()
for drive in c.Win32_DiskDrive():
print drive
あなたはモデルを持っていたら、クエリを次のように追加することができます
Drive letter: K:
まず適切なディスクが見つかった場合、そのディスクが検索されて出力
import wmi
c = wmi.WMI()
for disk in c.query('SELECT * FROM Win32_DiskDrive WHERE Model LIKE "WDC WD20EZRX-00D8PB0 ATA Device"'):
deviceID = disk.DeviceID
for partition in c.query('ASSOCIATORS OF {Win32_DiskDrive.DeviceID="' + deviceID + '"} WHERE AssocClass = Win32_DiskDriveToDiskPartition'):
for logical_disk in c.query('ASSOCIATORS OF {Win32_DiskPartition.DeviceID="' + partition.DeviceID + '"} WHERE AssocClass = Win32_LogicalDiskToPartition'):
print('Drive letter: {}'.format(logical_disk.DeviceID))
最終的に論理ディスクボリュームがパーティションに見つかります。
関連する問題
- 1. Pythonを使用してUSBドライブをFAT32にフォーマットする
- 2. 接続されたUSBデバイスを、powershellを使用してドライブ文字で表示する方法
- 3. Cドライブを使用してUSBドライブを取り外す方法
- 4. 文字デバイスを確認する
- 5. strlen()関数を使用して11文字の文字列を確認する
- 6. Linuxでlibhidを使用するUSB HIDデバイスのHIDパスを確認する
- 7. 文字列を使用してマクロ定義を確認する
- 8. C#USBドライブの存在を確認する
- 9. node-usbを使用してUSBデバイスから読み取る
- 10. USBデバイスからドライブ名を取得
- 11. ADBを使用してAndroidデバイスのEnvironment.getExternalStorageDirectoryの場所を確認しますか?
- 12. AppleScriptを使用してusbドライブからローカルディスクに移動する
- 13. USBドライブをリモートとして使用する方法
- 14. Pythonを使用してUSBドライブ内のすべてのファイルをインデックスする方法はありますか?
- 15. オプションラベル文字列を確認します
- 16. USBスティックのPower Shellスクリプト:usbのドライブ文字を判別する方法は?
- 17. 注文確認デバイス
- 18. ASP.NETはUSBドライブを検出します
- 19. USBデバイスを検出しています
- 20. 文字列内の特殊文字(/ * - + _ @&$#%)を確認しますか?
- 21. 起動したUSBドライブのドライブ文字をスクリプトからどのように検出できますか?
- 22. 私のAndroidをUSBデバイスとして使用する
- 23. デバイス名へのドライブ文字ID
- 24. DiskPartを使用してUSBデバイスを再分割する
- 25. jqueryを使用してデバイスの幅を確認し、結果をPHPに戻す
- 26. DirectShowを使用してusbデバイスから別のソースを選択
- 27. 文字ループの文字列を確認してください
- 28. ドライブが存在するか確認する(文字列パス)
- 29. 正規表現を使用して文字列のサブシーケンスを確認する
- 30. 配列を使用して文字列の長さを確認する
これをスレッド内で実行しようとしている場合は、[非常に役立つ記事](http://stackoverflow.com/a/14428972/4842476)を参照してください。 pythoncomをインポートし、pythoncom.CoInitialize()を呼び出す必要があります。 – jgrant