'How can i fix this line 75 except RuntimeError ,e: ^ SyntaxError: invalid syntax?

please help in syntax error in the line

except RuntimeError ,e:

code is here:

from __future__ import print_function
from PIL import Image
from PIL import ImageTk
import tkinter as tki
import threading
import datetime
import imutils
import cv2
import os

class PhotoBoothApp:
def __init__(self, vs, outputPath):
    # store the video stream object and output path, then initialize
    # the most recently read frame, thread for reading frames, and
    # the thread stop event
    self.vs = vs
    self.outputPath = outputPath
    self.frame = None
    self.thread = None
    self.stopEvent = None

    # initialize the root window and image panel
    self.root = tki.Tk()
    self.panel = None

    # create a button, that when pressed, will take the current
    # frame and save it to file
    btn = tki.Button(self.root, text="Snapshot!",
                     command=self.takeSnapshot)
    btn.pack(side="bottom", fill="both", expand="yes", padx=10,
             pady=10)

    # start a thread that constantly pools the video sensor for
    # the most recently read frame
    self.stopEvent = threading.Event()
    self.thread = threading.Thread(target=self.videoLoop, args=())
    self.thread.start()

    # set a callback to handle when the window is closed
    self.root.wm_title("PyImageSearch PhotoBooth")
    self.root.wm_protocol("WM_DELETE_WINDOW", self.onClose)

def videoLoop(self):
    # DISCLAIMER:
    # I'm not a GUI developer, nor do I even pretend to be. This
    # try/except statement is a pretty ugly hack to get around
    # a RunTime error that Tkinter throws due to threading
    try:
        # keep looping over frames until we are instructed to stop
        while not self.stopEvent.is_set():
            # grab the frame from the video stream and resize it to
            # have a maximum width of 300 pixels
            self.frame = self.vs.read()
            self.frame = imutils.resize(self.frame, width=300)

            # OpenCV represents images in BGR order; however PIL
            # represents images in RGB order, so we need to swap
            # the channels, then convert to PIL and ImageTk format
            image = cv2.cvtColor(self.frame, cv2.COLOR_BGR2RGB)
            image = Image.fromarray(image)
            image = ImageTk.PhotoImage(image)

            # if the panel is not None, we need to initialize it
            if self.panel is None:
                self.panel = tki.Label(image=image)
                self.panel.image = image
                self.panel.pack(side="left", padx=10, pady=10)

            # otherwise, simply update the panel
            else:
                self.panel.configure(image=image)
                self.panel.image = image

    except RuntimeError ,e:
        print("[INFO] caught a RuntimeError")

def takeSnapshot(self):
    # grab the current timestamp and use it to construct the
    # output path
    ts = datetime.datetime.now()
    filename = "{}.jpg".format(ts.strftime("%Y-%m-%d_%H-%M-%S"))
    p = os.path.sep.join((self.outputPath, filename))

    # save the file
    cv2.imwrite(p, self.frame.copy())
    print("[INFO] saved {}".format(filename))

def onClose(self):
    # set the stop event, cleanup the camera, and allow the rest of
    # the quit process to continue
    print("[INFO] closing...")
    self.stopEvent.set()
    self.vs.stop()
    self.root.quit()


except RuntimeError ,e:
                    ^

SyntaxError: invalid syntax



Solution 1:[1]

You have to just replace "," by "as"

except RuntimeError as e:
      # Your Code

Solution 2:[2]

I just fixed the problem, I hope to help someone to save time since I lost hours today.

Basically, you just need to replace ".geojson" with ".json" (without changing the file extension).

I do not understand why, and if you have the answer please let me now, but now it works.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 athrvvv
Solution 2 Aittam93