让我们说我输入" A"到Python程序并运行它。这需要一些时间。我没有等待,什么都不做,而是将输入更改为" B"在源代码中运行该程序的另一个实例。这两个实例将在完成后输出一些结果。这会有用吗还是会弄乱一些东西?
答案 0 :(得分:3)
这应该有效,假设系统上的权限允许您编辑已经开始运行的文件 - 正如他的comment中的abarnert所示,在Windows上您的编辑器和python.exe
进程可能两者都试图在使用时锁定文件。启动Python脚本时,文件的内容将被读入内存,因此理论上您应该能够修改这些内容并再次重新运行该文件。但是,这些更改不会影响初始运行。
在某些情况下,Python需要在执行开始后读取源:例如,一些实例正在打印异常以及与代码内省相关的各种方法。但是,如果您只是更改一小部分信息,例如硬编码的源数据文件或开始目录,则不应存在任何问题。最后,从长远来看,如果你发现自己做了很多事情,那就像abarnert建议up top那样构建你的程序,使你不需要硬编码你需要改变的信息,而是将其作为命令行参数,配置文件或动态读取参数传递,例如{2}中的input()
(或raw_input()
)语句。
答案 1 :(得分:1)
这应该适用于微不足道的用法,但要注意程序的两个实例都是,例如,写入同一个文件,或作用于某种类型的数据库。您可能会得到意想不到的结果。