recognize a drive as removable media (e.g. compact flash, sd cardor usb drive)


M

Mike Joyce

I am trying to write a portable script that will find removable media,
such as compact flash, sd card, usb, etc. drive and then upload files
from the media. I want this to be portable so that I can write and
maintain one program for both Linux and Windows. Each platform uses
different functions so even if I could find two platform dependent
functions that would be fine. Basically, I would like to avoid checking
fixed disks if possible.
If anyone know of a good way to do this please let me know. Thanks in
advance for any help.
-Mike Joyce
 
Ad

Advertisements

L

Larry Bates

Mike said:
I am trying to write a portable script that will find removable
media, such as compact flash, sd card, usb, etc. drive and then upload
files from the media. I want this to be portable so that I can write and
maintain one program for both Linux and Windows. Each platform uses
different functions so even if I could find two platform dependent
functions that would be fine. Basically, I would like to avoid checking
fixed disks if possible.
If anyone know of a good way to do this please let me know. Thanks
in advance for any help.
-Mike Joyce

Take a look at the code located at the top of the os.py module. It
goes through a series of tests to determine which OS it is running
on. You should be able to use something like that to create branches
in your code to handle Windows/Linux separately. As far as determining
removable drives in Windows/Linux I'm afraid I can't help on that.

-Larry Bates
 
T

Tim Golden

Mike said:
I am trying to write a portable script that will find removable media,
such as compact flash, sd card, usb, etc. drive and then upload files
from the media. I want this to be portable so that I can write and
maintain one program for both Linux and Windows. Each platform uses
different functions so even if I could find two platform dependent
functions that would be fine. Basically, I would like to avoid checking
fixed disks if possible.
If anyone know of a good way to do this please let me know. Thanks in
advance for any help.

Under Windows, you can probably use WMI for this, depending on
exactly what it is you're trying to do. If I read you right, you want
to
scan all devices, determine the removable ones, and then read stuff
off them.

If that's right, then something like this might do the trick on Windows
(untestedish - picks up my floppy and USB stick):

<code>
import wmi
c = wmi.WMI ()
removable_disks = c.Win32_LogicalDisk (DriveType=2)
# if you want CDROM as well, repeat with DriveType=5
</code>

This will give you a list of WMI objects, each corresponding
to a removable disk. You can access the drive letter via the
objects' .Name attributes, and do an os.walk or whatever on
them.

<code>
import os
for disk in removable_disks:
for dirpath, dirnames, filenames in os.walk (disk.Name + "\\"):
print dirpath # and do whatever else you want
</code>

TJG
 
Ad

Advertisements

G

Gordon Rainsford

Tim Golden said:
Under Windows, you can probably use WMI for this, depending on
exactly what it is you're trying to do. If I read you right, you want
to
scan all devices, determine the removable ones, and then read stuff
off them.

Any suggestions as to doing this on a Mac?
 

Top