8

Python で、カメラ、SD カード、外付けハード ドライブなど、接続されているストレージ デバイスのリストを取得する方法はありますか?

4

1 に答える 1

5

以下は、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 の方法は非常に粗雑で、 などのドライブを返しますsysprocfsさらに微調整したい場合は、 でクエリを実行してみてくださいpython-dbus

于 2012-10-01T12:48:12.573 に答える