一个文件中编写了大约100多个命令。每行都是一条命令。如何阅读这些命令行并随机执行?而且,更重要的是,当出现某些问题(也许使用相同的random.seed)时,如何重现该过程?

最佳答案

相同的rand.seed将具有相同的随机序列,所以是的。

首先,只需将命令读入数组即可。然后使用0到len(命令数组)之间的随机数-1执行该命令并将其从数组中删除。

cmds = file_handle.readlines()
random.seed(seed_number)
while (cmds):
   item = 0
   if (len(cmds) > 0):
       item = random.randrange(len(cmds) - 1)
   exec(cmds[item])   # This is terribly dangerous stuff, and ugly
   cmds.remove(cmds[item])

10-08 11:12