У меня есть код, в котором я хочу захватить видео с камеры. Я хочу использовать библиотеку Logging Python, чтобы получать сообщения в оболочке или экспортировать их в текстовый файл.
Вот часть моего кода, где внутри цикла while я хочу напечатать Камера успешно открыта
import numpy as np
import cv2
import logging as log
cap = cv2.VideoCapture('5.mpg')
while True:
ret, image = cap.read()
if ret == True:
log.warning('Camera Opened Successfully')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
clahe = cv2.createCLAHE(clipLimit = 15.0, tileGridSize=(8,8))
gray1 = clahe.apply(gray)
но то, что я получаю в оболочке, это:
пока я не завершил работающий скрипт. Любая идея о том, как заставить его печатать только один раз.
if
. - person pppery   schedule 23.06.2016if ret == True:
. Просто используйтеif ret:
; это более Pythonic (а также более лаконично и немного быстрее). Если вам действительно нужно проверить именноTrue
, а не какое-то другое истинное значение, вам понадобитсяif ret is True:
, который, в отличие отif ret == True:
, не будет обрабатыватьret
значения1
,1.0
и т. д. как равныеTrue
. Но вы редко даже этого хотите, просто отметьтеif ret:
. То же самое касаетсяret == False
; вы почти всегда хотитеnot ret
. - person ShadowRanger   schedule 24.06.2016