Python: OS Independent List of Available Storage Devices

Is there a way to get a list of connected storage devices, such as cameras, SD cards and external hard drives, in Python?

+8
python cross-platform
source share
1 answer

The following should work for Linux and Windows. This will be a list of all drives, not just external ones!

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.... 

The above method for Linux is very rude and returns disks like sys and procfs , etc., if you want something more finely tuned, look into the request using python-dbus .

+5
source share

All Articles