我已经创建了一个伪随机数生成器,我正在尝试通过管道输出数据,类似于某人运行 “$cat/dev/urandom/” 具体来说,我正在尝试将数据传输到dieharderng测试套件。你知道吗
通常,从天王星到迪哈德的阅读看起来像 “$cat/dev/urandom | diehard-a-g 200”
我的程序设计为无限生成数字,并以如下形式输出:
def main():
... # setup and variables
for _ in iter(int,1): # infinite loop
PRNG_VAL = PRNG_FUNC(count_str,pad,1) # returns b'xx'
PRNG_VAL = int(PRNG_VAL,16) # returns integer
sys.stdout.write(chr(PRNG_VAL)) # integer to chr, similar to /dev/urandom type output
很明显,当我像 “$猫/顶部.py|更难……” 结果输出只是读取文件的内容。你知道吗
我该怎么做,而不是读顶部.py,运行该文件并将输出管道化到diehard中,类似于从/dev/urandom中读取?你知道吗
感谢您的帮助!你知道吗
在
sh
和大多数其他POSIX shell中,运行它的方式与通常运行它的方式相同,并对其进行管道处理(与管道处理cat
的输出的方式相同):…或:
使用
cat /dev/urandom
的原因是urandom
不是程序,而是文件。当然,它不是一个在磁盘上充满字节的常规文件,它是一个特殊的设备文件,由设备驱动程序创建并通过mknod
挂载,但您不必担心这一点(除非您想编写自己的设备驱动程序);它的行为就好像它是一个充满字节的常规文件一样。你不可能轻易地做同样的事情,但你也不必这么做。你知道吗你应该读一本关于基本shell脚本的好教程。我没什么好推荐的,但我肯定有很多。你知道吗
相关问题 更多 >
编程相关推荐