Python:运行代码,修改输入参数,再运行另一个实例

2 投票
2 回答
622 浏览
提问于 2025-04-18 16:55

假设我在Python程序里输入了“A”,然后运行这个程序。这需要一些时间。在等待的同时,我不想闲着,于是我把源代码里的输入改成“B”,然后再运行一个新的程序实例。这两个程序实例在完成时会输出一些结果。这这样做会有效果吗,还是会搞乱一些东西呢?

2 个回答

1

这个方法在简单的情况下应该没问题,但要注意,如果你的程序有两个实例同时在做一些事情,比如同时写同一个文件,或者同时操作某个数据库,那可能会出现意想不到的结果。

3

这应该是可行的,前提是你的系统权限允许你编辑一个已经在运行的文件。正如abarnert在他的评论中提到的,在Windows系统上,你的编辑器和python.exe进程可能会同时试图锁定这个文件,这样就会导致冲突。当一个Python脚本启动时,文件的内容会被读取到内存中,所以理论上你可以修改这些内容并再次运行这个文件。不过,这些修改不会影响到第一次运行的结果。

有些情况下,Python在执行开始后需要重新读取源代码,比如打印异常信息和一些与代码检查相关的方法等。不过,如果你只是修改一些小信息,比如硬编码的数据文件或起始目录,应该不会有什么问题。最终,如果你发现自己经常需要这样做,建议按照abarnert的建议在上面提到的,把你的程序结构设计得更灵活,不要硬编码那些需要改变的信息,而是通过命令行参数、配置文件,或者动态读取的参数(比如input(),在Python 2中是raw_input())来传递这些信息。

撰写回答