gpt4 book ai didi

python - 在哪里可以找到 os.urandom() 的源代码?

转载 作者:太空宇宙 更新时间:2023-11-04 09:35:00 26 4
gpt4 key购买 nike

想研究学习python 3.7的os.urandom()函数的代码。我查看了相应标准库的 os.py,但既没有在那里定义,也没有在那里导入。我还尝试 grep 获取定义:

/usr/lib/python3.7 $ grep -rFl "def urandom"2>/dev/null但是什么也没有。我怀疑 os.urandom() 发生了一些神奇的事情。在哪里可以找到用于研究和密码分析的函数定义?

最佳答案

os 模块定义的许多名称由 Modules/posixmodule.c 处理, 在 POSIX 系统和 Windows 上。请注意,源代码在 C 中,而不是 Python,因为访问系统功能需要 native 代码。

你可以看到这是os.py source code ,它根据当前操作系统导入 posixnt,其中这两个名称都是从上面的 posixmodule.c 文件编译而来的,但已重命名更好地反射(reflect)平台并指出两个变体之间的功能不同(nt 变体提供的功能较少)。

参见 os_urandom_impl() function os.urandom() 的实现细节。这委托(delegate)给内部函数 _PyOS_URandom(),它与 Python 启动过程早期所需的其他辅助函数一起定义在 Python/bootstrap_hash.c 中。 .

关于python - 在哪里可以找到 os.urandom() 的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54092441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com