我有一个基于python的GTK应用程序,可以加载几个模块.它是从(linux)终端运行的,如下所示:
./myscript.py --some-flag setting
用户可以从程序中下载(使用Git)较新的版本.如果存在/下载,则会出现一个按钮,我希望用新编译的内容(包括依赖项/导入)重新启动程序.优选地,它还将使用内容sys.argv来重新启动它以保持所有标志不变.
所以我找不到/需要的是一个很好的重启过程,杀死程序的当前实例并使用相同的参数启动一个新的.
优选地,该解决方案也适用于Windows和Mac,但它不是必需的.
我有一个程序可以 24/7 全天候运行,从相机获取帧,通过本地网络处理和发送 .jpg 图像。通常,我不希望将任何视频保存到文件中,但是我可能希望在某些情况下安排 x 分钟的保存时间(未触发,已安排)。
我通过调用 VideoWriter 作为 VideoCamera 的线程来处理视频录制。我发现这对于使用正确的 fps 处理写作更准确。当我想从头开始录制以及只想流式传输时,此过程非常有效。我是这样启动相机的。
import ...
# from custom file import `VideoCamera` which has access to `VideoWriter`
from camera import VideoCamera
video_camera = VideoCamera(
flip = False,
usePiCamera = False,
resolution = (640, 480),
record = False,
record_duration = None,
record_timestamp = True
)
Run Code Online (Sandbox Code Playgroud)
相机不能被初始化两次(不能访问同一个相机两次)。因此,我正在考虑使用新参数(例如record = True, record_duration = "00:10:00")安排停止和重新启动。
我从控制台 ( python main.py)调用脚本,它具有:
if __name__ == '__main__':
t = threading.Thread(target=processing_fun, args=())
t.daemon = True
t.start()
print("To …Run Code Online (Sandbox Code Playgroud)