我正试图找到一种方法来检测是否找到了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')