Windows中的Python环境变量?

Windows中的Python环境变量?,python,windows,testing,environment-variables,Python,Windows,Testing,Environment Variables,为了测试的目的,我正在开发一个脚本,该脚本反复使用其他脚本运行程序 它目前的工作原理是我有一个Python脚本,我启动了它。该脚本调用程序并加载其他脚本。它会在60秒后终止程序,然后用下一个脚本再次启动程序 对于一些脚本,60秒太长了,所以我想知道我是否能够设置一个标志变量(不在主脚本中),这样当脚本完成时,它会设置标志,所以主脚本和读取标志并终止进程 感谢您的帮助,我的写作可能会让人困惑,因此如果您不能完全理解,请告诉我。退出script1.py时,您可以使用编写一个小文件(flag.txt)

为了测试的目的,我正在开发一个脚本,该脚本反复使用其他脚本运行程序

它目前的工作原理是我有一个Python脚本,我启动了它。该脚本调用程序并加载其他脚本。它会在60秒后终止程序,然后用下一个脚本再次启动程序

对于一些脚本,60秒太长了,所以我想知道我是否能够设置一个标志变量(不在主脚本中),这样当脚本完成时,它会设置标志,所以主脚本和读取标志并终止进程

感谢您的帮助,我的写作可能会让人困惑,因此如果您不能完全理解,请告诉我。

退出script1.py时,您可以使用编写一个小文件(flag.txt)。mainscript.py可能会定期检查flag.txt是否存在,当它找到它时,将杀死program.exe并退出

编辑:
我已经使用设置了持久性环境变量,但我只在基于python的安装脚本中使用它。通常我都很不好意思搞乱注册表。(这是针对windows的)

这似乎是一个非常适合套接字的用例。

您不能以这种方式使用环境变量。正如您所发现的,在设置应用程序完成后,它不是持久性的

为什么不将它们作为子进程启动,并使用subprocess.Popen的wait()方法等待它们完成?这不起作用,因为该进程永远不会完成。我的脚本执行此操作(伪代码)。/Program.exe/home/user/Desktop/Script1.py因此Script1.py最终完成,但Program.exe从未真正完成。。。所以subprocess.Popen wait()不起作用,我不认为。让我直说吧。mainscript.py执行program.exe,然后启动script1.py。program.exe不会结束,但script1.py最终会结束。您正在寻找一种检测script1.py何时结束的方法?script1.py是否每次都正常结束,或者有时出错?因此,基本上,script1.py贯穿script50.py始终。每一个都是不同的,它们可能会崩溃,因此我还需要一种方法在进程暂停时终止进程(但这是一个不同的问题)。我找到了一种方法来设置环境变量,但它看起来不是持久的……一旦Script1.py完成,该变量将被删除。因此,如果所有其他操作都失败了,我可能最终会这样做……如果您希望将环境变量设置为持久性,那么您必须实际进入注册表。但我真的不推荐这种方法在IPC中设置标志。