Python: Drucken Sie nur ein mal innerhalb einer Schleife

Ich habe einen code wo ich möchte ein video aufnehmen von der Kamera. Ich möchte Logging-Bibliothek von Python, um Nachrichten auf der shell oder exportieren Sie Sie in eine Textdatei.

Ist hier ein Teil von meinem code, wo innerhalb der while-Schleife will ich drucken Kamera Erfolgreich Geöffnet

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)

aber was bekomme ich in der shell wird dies:

Python: Drucken Sie nur ein mal innerhalb einer Schleife

bis ich das beendet das laufende Skript. Irgendeine Idee auf, wie man es drucken nur einmal.

  • Ähm, verwenden Sie ein if - Anweisung.
  • Seite-Hinweis: verwenden Sie Niemals if ret == True:. Verwenden Sie einfach if ret:; es ist mehr Pythonic (sowie präziser und immer so etwas schneller). Wenn Sie wirklich brauchen, um zu testen, für True speziell, und nicht eine andere truthy Wert, würden Sie wollen if ret is True:, die im Gegensatz zu if ret == True:, nicht behandeln ret Werte 1, 1.0 usw. gleich True. Aber Sie selten sogar wünschen, prüfen Sie einfach if ret:. Gleiches gilt für ret == False; Sie will fast immer not ret.
InformationsquelleAutor Tes3awy | 2016-06-23
Schreibe einen Kommentar