Pythonでカメラ、SDカード、外付けハードドライブなどの接続されたストレージデバイスのリストを取得する方法はありますか?Python:利用可能なストレージデバイスのOS非依存のリスト
答えて
次はLinuxとWindowsで動作するはずです。 これは外部だけでなくすべてのドライブを一覧表示します!
import subprocess
import sys
#on windows
#Get the fixed drives
#wmic logicaldisk get name,description
if 'win' in sys.platform:
drivelist = subprocess.Popen('wmic logicaldisk get name,description', shell=True, stdout=subprocess.PIPE)
drivelisto, err = drivelist.communicate()
driveLines = drivelisto.split('\n')
elif 'linux' in sys.platform:
listdrives=subprocess.Popen('mount', shell=True, stdout=subprocess.PIPE)
listdrivesout, err=listdrives.communicate()
for idx,drive in enumerate(filter(None,listdrivesout)):
listdrivesout[idx]=drive.split()[2]
# guess how it should be on mac os, similar to linux , the mount command should
# work, but I can't verify it...
elif 'macosx' ...
do the rest....
Linux用の上記の方法は非常に、粗である、とあなたは何かがより微調整、python-dbus
で照会に見たい場合などsys
とprocfs
のようにドライブを返します。
おそらく、現在のユーザー(おそらくデスクトップにログインしているユーザー)が所有しているマウントポイントを検出するステップを追加すると、リストは「外部デバイス」のリストに非常に近くなります。プラグを抜きたいものをまずアンマウントすることができます。 – 9000
ここでは、[dbus経由でUdiskを使用する方法の例](http://stackoverflow.com/a/5081937/4279)を参照してください。プロパティ[DeviceIsRemovable](http://hal.freedesktop.org/docs/udisks/Device.html#Device:DeviceIsRemovable)が近い可能性があります。 – jfs
あなたは/ proc/mountsをlinuxで読むことができます。 – LtWorf
- 1. 依存タイプのために利用可能なモジュール工場:ContextElementDependency
- 2. 利用可能なホットキーのクロスブラウザのリスト
- 3. テンソルの利用可能なグラフのリスト
- 4. ジェンキンススクリプトコンソール:利用可能なジェンキンメソッドのリスト?
- 5. ブーストユニットテスト - 利用可能なテストのリスト
- 6. PHPで利用可能なコレータのリスト?
- 7. homebrew利用可能なコンパイラのリスト
- 8. 利用可能な** kwargsのリスト
- 9. php5 +で利用可能なコアクラスのリスト?
- 10. ArchLinux lotib notesの利用可能性マルチプレイ・リポジトリの依存関係
- 11. NPM package.jsonのOS非依存グラントスクリプトコマンド
- 12. Files.walk()OS非依存の問題
- 13. Pythonのhashlibを使用した利用可能な非標準ハッシュアルゴリズムの検出
- 14. 利用可能なフィルタリング利用可能なタスクグループ別のギャラリストタスク
- 15. 依存性注入コンテナ - 利用可能なままにする方法
- 16. 利用可能なロールの春のセキュリティのリスト
- 17. 利用可能なホットスポットのネットワークとアンドロイドのリストに表示
- 18. http://axschema.orgとhttp://schemas.openid.netの利用可能な属性のリスト
- 19. Googleホームで利用可能なすべてのアクションのリスト
- 20. SBTマルチプロジェクトのテスト依存関係:テストコードを依存するプロジェクトに利用可能にする
- 21. Xamarin iOSの方法を非再利用可能なUITableViewCells
- 22. 利用可能な言語のリストを取得する
- 23. 利用可能なJavaロケールのリストを拡張する方法
- 24. 利用可能な屋内マップのリストを提供するAPI
- 25. Hadoop YARN:利用可能なキューのリストを取得する
- 26. 利用可能な出力オーディオターゲットのリストAVAudioSession
- 27. パンダで利用可能なデータフレームのリストを取得
- 28. 利用可能なデータフレームのリストを取得
- 29. 利用可能な角材料クラスの定義リスト
- 30. 利用可能なすべてのViewComponentsをリストとしてアクセス
「ストレージデバイス」はどのように定義しますか?どのように '接続'? –
@Tichodroma Mac Finder、Windowsエクスプローラ、またはUbuntuファイルブラウザに表示される外部デバイスのリスト。 –
'外部'を定義してください – njzk2