种子python在Mac和Windows上随机生成不同的数字
我参与了一个将在Mac和Windows上运行的python应用程序,该应用程序使用py2app和py2exe打包到可执行文件中。重要的是,所有应用程序在任何时候都生成相同的随机数。所以随机模块总是得到相同的种子 然而,random.shuffle()的结果在Windows Mac上似乎大不相同 有没有办法确保总是生成相同的随机数 代码非常乏味:种子python在Mac和Windows上随机生成不同的数字,python,windows,macos,random,portability,Python,Windows,Macos,Random,Portability,我参与了一个将在Mac和Windows上运行的python应用程序,该应用程序使用py2app和py2exe打包到可执行文件中。重要的是,所有应用程序在任何时候都生成相同的随机数。所以随机模块总是得到相同的种子 然而,random.shuffle()的结果在Windows Mac上似乎大不相同 有没有办法确保总是生成相同的随机数 代码非常乏味: import random random.seed("ladygaga") swaplist_odd = [n for n in range(len(
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)
其思想是洗牌一个缓冲区,并能够通过再次洗牌重新创建原始缓冲区
如果进程停留在一个操作系统内,则没有问题。一旦将缓冲区文件复制到另一个操作系统,重新创建原始文件就会失败。是否可能使用两个不同版本的Python
根据研究,Python从使用Wichmann-Hill算法转向使用Mersenne Twister生成从2.3开始的伪随机数。Python2.x和Python3.x似乎具有不兼容的随机数生成器,即使使用相同的数字进行播种,也会返回不同的结果 对我来说,MacOS上的Python2.7.16返回的结果与Ubuntu上的Python2.7.12相同 MacOS上的Python3.7.3与Ubuntu上的Python3.5.2返回相同的结果
此外,字符串的散列在不同的Python安装上可能不同,因此您应该使用数字种子,而不是
ladygaga
您使用的Python版本是什么?也许这两台机器上的Python版本不同?比较两者的hash(“ladygaga”)是否相同?显然,macos和Windows对ladygaga有不同的看法。