种子python随机在Mac和Windows上产生不同的数字

我参与了一个python应用程序,它将在Mac和Windows上运行,并与py2app和py2exe打包成可执行文件。 所有应用程序始终生成相同的随机数是非常重要的。 所以随机模块总是得到相同的种子。

然而,random.shuffle()的结果在Mac上是非常不同的。

有什么办法可以确保始终生成相同的随机数字吗?

代码是非常不起作用的:

import random random.seed("ladygaga") swaplist_odd = [n for n in range(len(clipboard)) if n % 2 != 0] swaplist_even = [n for n in range(len(clipboard)) if n % 2 == 0] random.shuffle(swaplist_odd) random.shuffle(swaplist_even) 

这个想法是洗牌缓冲区,并能够通过重新洗牌来重新创build原始缓冲区。

如果进程停留在一个操作系统内,则没有问题。 一旦缓冲区文件被复制到另一个操作系统,原始的重新创build失败。

是否有可能使用两种不同版本的Python?

根据文档 ,Python从使用Wichmann-Hill算法转向使用Mersenne Twister生成从2.3开始的伪随机数。