如何执行随机命令行并重现该过程?

时间:2015-01-19 11:20:19

标签: python linux shell command-line

大约有100多个命令写在文件中;每一行都是一个命令。如何读取这些命令行并随机执行?而且,更重要的是,如何在发生某些问题时重现该过程(可能使用相同的random.seed)?

1 个答案:

答案 0 :(得分:1)

同样的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])