相关疑难解决方法(0)

从内部重启python-script

我有一个基于python的GTK应用程序,可以加载几个模块.它是从(linux)终端运行的,如下所示:

./myscript.py --some-flag setting

用户可以从程序中下载(使用Git)较新的版本.如果存在/下载,则会出现一个按钮,我希望用新编译的内容(包括依赖项/导入)重新启动程序.优选地,它还将使用内容sys.argv来重新启动它以保持所有标志不变.

所以我找不到/需要的是一个很好的重启过程,杀死程序的当前实例并使用相同的参数启动一个新的.

优选地,该解决方案也适用于Windows和Mac,但它不是必需的.

python

29
推荐指数
4
解决办法
6万
查看次数

使用新参数安排python脚本重新启动或对象重新初始化

我有一个程序可以 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)

python bash subprocess scheduled-tasks

5
推荐指数
1
解决办法
869
查看次数

标签 统计

python ×2

bash ×1

scheduled-tasks ×1

subprocess ×1