imagesnap ведет себя по-разному в терминале и при вызове os.popen - PullRequest
0 голосов
/ 08 ноября 2019

Ниже приведена простая программа тестирования Python. Он использует os.popen () и захватывает изображение с выбранной веб-камеры USB с помощью imagesnap -d и сохраняет изображение в image.jpg.

Но команда imagesnap -d ведет себя по-разному при запуске в среде PyCharm , возвращая пустой ответ ('') и , при сбоесохранить запрошенное изображение.

Отправка этого же кода в окне терминала PyCharm завершается неудачно в точно таким же образом.

Но когда те же команды подаются на терминал за пределами Pycharm , программа берет изображение и сообщает обратно, как показано в выходных данных ниже.

Я использую Mac OS X Catalina и использую PyCharm 2019.2.3 Community Edition для разработки. Python версия 3.7.4

Пример кода:

import os
return_string = os.popen("imagesnap -d 'DEVICE_NAME' 'image.jpg'").read()
print("'",return_string,"'")

В среде разработки PyCharm эта программа возвращаетследующее и не создает файл jpg :

/Users/mcgregor94086/PycharmProjects/SonaScannerGUI/venv/bin/python /Users/mcgregor94086/Library/Preferences/PyCharmCE2019.2/scratches/scratch_5.py
'  '

Process finished with exit code 0

Снаружи PyCharm этот код возвращает:

$ python3
Python 3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> return_string = os.popen("imagesnap -d 'DEVICE_NAME' 'image.jpg'").read()
>>> print("'",return_string,"'")
' Capturing image from device "<AVCaptureDALDevice: 0x7fa9bc203330 [DEVICE_NAME][0x141717501bcf0b09]>"... '
>>> 
...