我正试图找到一种方法来检测是否找到了gphoto2摄像头。
我在gphoto2论坛上发过帖子,但我想我也会在这里试试。可以发出命令gphoto2——auto detect,它将列出检测到的摄像头。
我正在运行一个大的python脚本,其中一个调用gphoto2来拍照并下载图像。我想找到一个语句,我可以放在一个IF循环中,在这里,只有在进入循环后,如果检测到相机,才会发出拍照和下载图像命令。

最佳答案

quick google揭示了gphoto2http://magiclantern.wikia.com/wiki/Remote_control_with_PTP_and_Python的python绑定。
另一种变体是调用控制台命令,即

from subprocess import call
call(["gphoto2", "--auto-detect"])

在你放弃之前,你要等多久才能发现摄像机。
如果要使用循环,请记住在其中插入一些sleep命令。
timeout = time.time() + 60
detected = False
while time.time() < timeout:
    if is_device_available():
        detected = True
        break
    # maybe show some feedback why he has to wait
    time.sleep(1)
if not detected:
    raise Exception('Camera device not detected')

09-25 21:41