Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python检测USB大容量存储设备连接_Python_Usb - Fatal编程技术网

使用python检测USB大容量存储设备连接

使用python检测USB大容量存储设备连接,python,usb,Python,Usb,如何在python中监视usb大容量存储设备连接?我找到了一些选择,但在这两个选择中,我都遇到了困难 首先是udev(pyudev),它有一个优秀的系统来监控设备连接。不幸的是,无法获取筛选器,因为我不知道必须指定哪个子系统、DEVTYPE等 第二,dbus。但哈尔似乎不赞成。还遇到了一些关于.service文件和其他内容的问题。在这里我觉得它的发生是因为哈尔不赞成,但如果它是其他的东西,有一个工作,请让我知道 已经席卷了万维网,但还没有找到解决上述障碍的办法。请帮忙 看看古德夫 有一个简

如何在python中监视usb大容量存储设备连接?我找到了一些选择,但在这两个选择中,我都遇到了困难

  • 首先是udev(pyudev),它有一个优秀的系统来监控设备连接。不幸的是,无法获取筛选器,因为我不知道必须指定哪个子系统、DEVTYPE等

  • 第二,dbus。但哈尔似乎不赞成。还遇到了一些关于.service文件和其他内容的问题。在这里我觉得它的发生是因为哈尔不赞成,但如果它是其他的东西,有一个工作,请让我知道

    已经席卷了万维网,但还没有找到解决上述障碍的办法。请帮忙

看看古德夫

有一个简单的例子

基本上,它看起来像:

#!/usr/bin/env python

import glib
import gudev
import pynotify
import sys


def callback(client, action, device, user_data):
device_vendor = device.get_property("ID_VENDOR_ENC")
device_model = device.get_property("ID_MODEL_ENC")
if action == "add":
    n = pynotify.Notification("USB Device Added", "%s %s is now connected to your system" % (device_vendor,device_model))
    n.show()
elif action == "remove":
    n = pynotify.Notification("USB Device Removed", "%s %s has been disconnected from your system" %
(device_vendor, device_model))
n.show()


if not pynotify.init("USB Device Notifier"):
    sys.exit("Couldn't connect to the notification daemon!")

client = gudev.Client(["usb/usb_device"])
client.connect("uevent", callback, None)

loop = glib.MainLoop()
loop.run()
有一种方法可能会有所帮助。。