我正试图找到一种方法来检测是否找到了gphoto2的相机。
我已经在gphoto2论坛上发帖了,但我想我也会在这里试试。可以发出命令gphoto2 --auto-detect,它将列出检测到的摄像机。
我正在运行一个大型python脚本,一次调用gphoto2来拍照并下载图像。我想找一个可以放入IF循环的语句,只有在检测到摄像机后进入循环后才会发出拍照和下载图像命令。
答案 0 :(得分:1)
快速谷歌揭示了gphoto2 http://magiclantern.wikia.com/wiki/Remote_control_with_PTP_and_Python的python绑定。
其他变体是调用控制台命令,即
from subprocess import call
call(["gphoto2", "--auto-detect"])
在你放弃之前,你需要多长时间等待相机被发现。
如果您要使用循环,请记住将一些睡眠命令放入。
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')