首页 > 解决方案 > 如何同时运行相同的 python 代码但不同的输入?

问题描述

我有一个科学模拟代码,可以进行大量计算(求解 ODE),这需要几天时间。

我想问,如果我用一些输入(txt文件)运行代码,在它完成之前,我用另一个输入再次运行代码,这种情况会发生任何差异吗?你能建议另一种方式(或最好的方式或最pythonic的方式)吗?

当我尝试它时,我没有看到结果之间有任何差异,但我想说服自己。为了避免这种情况,我总是复制代码并在不同的位置针对不同的输入运行它。

标签: python

解决方案


每次运行脚本时,都会创建一个新进程。因此,假设您同时运行程序 5 次:将创建 5 个进程。进程之间不共享内存/范围。因此,它们是完全独立的,互不影响。运行您的程序是安全的。但是,请确保您的代码在每个进程中输出到不同的文件。

编辑:

为确保每次运行单独的进程时使用不同的文件,请创建一个随机数,或者更好的 uuid,并使用此随机字符串命名您的文件夹。

例如

import uuid
random_string = str(uuid.uuid4())
my_new_path = '/home/user/my-project/' + random_string + '/output'

这样,每次运行脚本时,都会创建一个具有唯一名称的新文件夹/文件,您可以将结果输出到该文件夹​​/文件。


推荐阅读