如何防止 python IDLE 在 运行 新脚本时重新启动
How to prevent python IDLE from restarting when running new script
我使用 Python 3.6.1 IDLE。我希望能够 运行 一系列脚本,同时维护本地环境(变量等),就像我将所有命令逐行输入 shell 一样。但是,每当我执行脚本时,环境都会重新启动,并且我会丢失之前执行的所有变量。
我能做些什么来防止重新启动吗?我不想在 shell.
中逐行输入内容
这个问题和类似,但还没有令人信服的答案,可能是因为问题措辞混乱。
编辑:我将提供一些背景知识以更清楚地说明为什么我希望第二个脚本 运行 与第一个脚本共享状态。我正在使用 Selenium Web 驱动程序从我的大学网络邮件帐户转发电子邮件。如果我登录过于频繁,Outlook Web App 会意识到发生了一些奇怪的事情并阻止访问。所以我想用第一个脚本登录一次,然后能够在第一个脚本之上测试不同的转发脚本。所以我能做的是 运行 第一个脚本,然后将第二个脚本一个一个地键入 shell。但这真的很烦人。如果我可以只 运行 第二个脚本就好像它被输入到 shell 中,即无需重新启动,那就太好了。
编写调用 execfile("other_script.py")
(在 Python 2 中)或 exec(open("other_script.py").read())
(Python 3 中)的主脚本怎么样?然后只是 运行 IDLE 中的主脚本。您可能需要 shebang 行和(可能)每个脚本的适当执行权限。
看到这个 thread 因为我从那里讨论的一些东西得出我的答案。
另一种选择是使用 shell 脚本(bash、批处理、sh,无论您在系统上使用什么 shell)来自动化您的 "typing things into the shell"。
但实际上,就像其他人所说的那样,通过将此任务拆分为单独的文件来模块化它似乎并没有多大好处。为什么不直接创建一个 Python 具有您需要的所有功能的程序,然后适当地调用它们呢?
2019 年 6 月添加:在编辑器 Run
菜单上,Run... Customized
使用 [X] Restart
打开一个对话框。取消选中该框并跳过重新启动。
我使用 Python 3.6.1 IDLE。我希望能够 运行 一系列脚本,同时维护本地环境(变量等),就像我将所有命令逐行输入 shell 一样。但是,每当我执行脚本时,环境都会重新启动,并且我会丢失之前执行的所有变量。
我能做些什么来防止重新启动吗?我不想在 shell.
中逐行输入内容这个问题和
编辑:我将提供一些背景知识以更清楚地说明为什么我希望第二个脚本 运行 与第一个脚本共享状态。我正在使用 Selenium Web 驱动程序从我的大学网络邮件帐户转发电子邮件。如果我登录过于频繁,Outlook Web App 会意识到发生了一些奇怪的事情并阻止访问。所以我想用第一个脚本登录一次,然后能够在第一个脚本之上测试不同的转发脚本。所以我能做的是 运行 第一个脚本,然后将第二个脚本一个一个地键入 shell。但这真的很烦人。如果我可以只 运行 第二个脚本就好像它被输入到 shell 中,即无需重新启动,那就太好了。
编写调用 execfile("other_script.py")
(在 Python 2 中)或 exec(open("other_script.py").read())
(Python 3 中)的主脚本怎么样?然后只是 运行 IDLE 中的主脚本。您可能需要 shebang 行和(可能)每个脚本的适当执行权限。
看到这个 thread 因为我从那里讨论的一些东西得出我的答案。
另一种选择是使用 shell 脚本(bash、批处理、sh,无论您在系统上使用什么 shell)来自动化您的 "typing things into the shell"。
但实际上,就像其他人所说的那样,通过将此任务拆分为单独的文件来模块化它似乎并没有多大好处。为什么不直接创建一个 Python 具有您需要的所有功能的程序,然后适当地调用它们呢?
2019 年 6 月添加:在编辑器 Run
菜单上,Run... Customized
使用 [X] Restart
打开一个对话框。取消选中该框并跳过重新启动。