Python:运行代码,更改一些输入参数,然后运行另一个实例

时间:2014-08-12 03:09:05

标签: python

让我们说我输入" A"到Python程序并运行它。这需要一些时间。我没有等待,什么都不做,而是将输入更改为" B"在源代码中运行该程序的另一个实例。这两个实例将在完成后输出一些结果。这会有用吗还是会弄乱一些东西?

2 个答案:

答案 0 :(得分:3)

这应该有效,假设系统上的权限允许您编辑已经开始运行的文件 - 正如他的comment中的abarnert所示,在Windows上您的编辑器和python.exe进程可能两者都试图在使用时锁定文件。启动Python脚本时,文件的内容将被读入内存,因此理论上您应该能够修改这些内容并再次重新运行该文件。但是,这些更改不会影响初始运行。

在某些情况下,Python需要在执行开始后读取源:例如,一些实例正在打印异常以及与代码内省相关的各种方法。但是,如果您只是更改一小部分信息,例如硬编码的源数据文件或开始目录,则不应存在任何问题。最后,从长远来看,如果你发现自己做了很多事情,那就像abarnert建议up top那样构建你的程序,使你不需要硬编码你需要改变的信息,而是将其作为命令行参数,配置文件或动态读取参数传递,例如{2}中的input()(或raw_input())语句。

答案 1 :(得分:1)

这应该适用于微不足道的用法,但要注意程序的两个实例都是,例如,写入同一个文件,或作用于某种类型的数据库。您可能会得到意想不到的结果。