Ниже приведена простая программа тестирования 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]>"... '
>>>