3

gphoto2 のカメラが見つかったかどうかを検出する方法を見つけようとしています。

gphoto2 フォーラムに投稿しましたが、ここでも試してみようと思いました。コマンド gphoto2 --auto-detect を発行すると、検出されたカメラが一覧表示されます。

ある時点で gphoto2 を呼び出して写真を撮り、画像をダウンロードする大きな python スクリプトを実行しています。カメラが検出された場合にループに入った後にのみ、写真を撮って画像をダウンロードするコマンドが発行されるIFループに入れることができるステートメントを見つけたいと思っています。

4

1 に答える 1

1

クイック Google は、gphoto2 http://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')
于 2013-03-25T18:08:53.327 に答える