On 03/09/2011 17:21, mukesh tiwari wrote:
On Sep 3, 7:40 pm, mukesh tiwari<mukeshtiwari.ii...@gmail.com>  wrote:
Hello all
I am trying to write a python script which can mount a pen drive and
read the data from pen drive. I am using pyudev 
[http://packages.python.org/pyudev/api/index.html] and wrote a small
python code

import pyudev, sys
if __name__ =="__main__":
         context = pyudev.Context()
         devices = context.list_devices(subsystem        ="usb")
         for device in devices :
                 print device

which prints

Device(u'/sys/devices/pci0000:00/0000:00:1a.0/usb3')
Device(u'/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1a.1/usb4')
Device(u'/sys/devices/pci0000:00/0000:00:1a.1/usb4/4-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1a.2/usb5')
Device(u'/sys/devices/pci0000:00/0000:00:1a.2/usb5/5-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1a.7/usb1')
Device(u'/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1d.0/usb6')
Device(u'/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-2')
Device(u'/sys/devices/pci0000:00/0000:00:1d.0/usb6/6-2/6-2:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1d.1/usb7')
Device(u'/sys/devices/pci0000:00/0000:00:1d.1/usb7/7-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1d.2/usb8')
Device(u'/sys/devices/pci0000:00/0000:00:1d.2/usb8/8-0:1.0')
Device(u'/sys/devices/pci0000:00/0000:00:1d.7/usb2')
Device(u'/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-0:1.0')

My problem is,  how to know  out of these usb which one to read . The
other solution I got is whenever I insert the pen drive , my system
mounts  it in /media  directory so I can read the /media directory  to
check if its empty or not but this does not seems promising to me
because it may be possible that my system is not able to mount the pen
drive so I have to manually do it .  Kindly some one please tell me
how to solve this problem.

I got this link and its working fine [ 
http://packages.python.org/pyudev/api/monitor.html
]
context = pyudev.Context()
monitor = pyudev.Monitor.from_netlink(context)
monitor.filter_by(subsystem='input')
for action, device in monitor:
...     print('{0}: {1}'.format(action, device))

but when I am trying to execute code [ 
http://packages.python.org/pyudev/api/toolkit.html
]

import pyudev, sys

context = pyudev.Context()
monitor = pyudev.Monitor.from_netlink(context)
monitor.filter_by(subsystem='usb')
observer = QUDevMonitorObserver(monitor)
def device_connected(device):
      print('{0!r} added'.format(device))
observer.deviceAdded.connect(device_connected)
monitor.start()

I am getting
Traceback (most recent call last):
   File "Mount.py", line 7, in<module>
     observer = QUDevMonitorObserver(monitor)
NameError: name 'QUDevMonitorObserver' is not defined

Could any one please tell me how to avoid this error .
Thank you

I think you need to import it from pyudev.pyqt4.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to