Python 在另一个 cmd 中重新启动脚本 window
Python restart script in another cmd's window
有没有办法在另一个 shell 中重新启动另一个脚本?
我的脚本有时会卡住等待从 gmail 和 imap 读取电子邮件。从另一个脚本我想重新启动主要脚本但不停止第二个脚本的执行
我试过:
os.system("C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py")
process = subprocess.Popen(["python", "C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py"])
但都运行主要在第二个shell
编辑:
抱歉,对于 shell 我的意思是终端 window
子进程有一个名为 shell 的选项,这就是您想要的。 Os 调用是阻塞的,这意味着只有在命令完成后,解释器才会移动到下一行。另一方面,子进程 popens 是非阻塞的,但是这两个命令都会从进程 运行ning 这段代码中产生子进程。如果您想在 shell 中 运行 并获得访问 shell 功能来执行此操作,请尝试在子进程中使用 shell = True。
在您最后发表评论后,由于语法显示您正在使用 Windows,我假设您想在另一个控制台中启动 Python 脚本。如果您希望启动与新进程并行执行,这里的魔术词是 START
,如果您想等待子进程结束,则为 START /W
。
在你的情况下,你可以使用:
subprocess.call(["cmd.exe", "/c", "START", "C:\Path\To\PYTHON.EXE",
"C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py"])
我可以试着解释你需要的一切,但我认为这个视频会做得更好:Youtube Video about multithreading
这将使您 运行 2 件事 f.e。
在签入电子邮件中有 1 个 运行,在输入中有另一个,因此它不会在那些时刻停止并使多个 'shelves' 成为可能,因为它们是并行的。
如果你真的想要一个不一样的window,对不起,我帮不上忙
希望这就是您要找的。
有没有办法在另一个 shell 中重新启动另一个脚本? 我的脚本有时会卡住等待从 gmail 和 imap 读取电子邮件。从另一个脚本我想重新启动主要脚本但不停止第二个脚本的执行 我试过:
os.system("C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py")
process = subprocess.Popen(["python", "C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py"])
但都运行主要在第二个shell 编辑: 抱歉,对于 shell 我的意思是终端 window
子进程有一个名为 shell 的选项,这就是您想要的。 Os 调用是阻塞的,这意味着只有在命令完成后,解释器才会移动到下一行。另一方面,子进程 popens 是非阻塞的,但是这两个命令都会从进程 运行ning 这段代码中产生子进程。如果您想在 shell 中 运行 并获得访问 shell 功能来执行此操作,请尝试在子进程中使用 shell = True。
在您最后发表评论后,由于语法显示您正在使用 Windows,我假设您想在另一个控制台中启动 Python 脚本。如果您希望启动与新进程并行执行,这里的魔术词是 START
,如果您想等待子进程结束,则为 START /W
。
在你的情况下,你可以使用:
subprocess.call(["cmd.exe", "/c", "START", "C:\Path\To\PYTHON.EXE",
"C:\Users\light\Documents\Python\BOTBOL\Gmail\V1\send.py"])
我可以试着解释你需要的一切,但我认为这个视频会做得更好:Youtube Video about multithreading
这将使您 运行 2 件事 f.e。 在签入电子邮件中有 1 个 运行,在输入中有另一个,因此它不会在那些时刻停止并使多个 'shelves' 成为可能,因为它们是并行的。
如果你真的想要一个不一样的window,对不起,我帮不上忙
希望这就是您要找的。