s = eval(s) if s.isnumeric() else s # i.e. s = '0' local webcam
cap = cv2.VideoCapture(s)
assert cap.isOpened(), f'Failed to open {s}'
使用 断言 提供异常处理,他的机制是 如果 assert 后的条件为假,则抛出异常信息(第二个参数作为异常的参数信息)
assert expression [, arguments]
等价于
if not expression:
raise AssertionError(arguments)
这里就涉及到了 raise 可以自定义抛出异常。
其中还有一个f语句内{}变量赋值的python写法 f'Failed to open {s}'
f的字符串修饰符是的花括号内的变量得以解析。
这里就使用到了f的动态变量赋值的写法,而且在花括号内
{fps:.2f}
还可以通过:.2f
进行两位小数的控制显示