如何从Python的collections库中看到deque模块的源代码?

时间:2019-02-05 00:21:15

标签: python deque

我尝试使用inspect.getsource(deque),并且它在集合中的其他模块上运行时,在deque上运行它会引发错误“找不到类定义”。为什么仅在双端队列发生这种情况,如何查看其源代码?

1 个答案:

答案 0 :(得分:5)

此代码是使用CPython的C代码实现的,集合python模块仅为imports that name。根据您的Python版本和安装情况,您可能会在系统中的某个位置找到名为_collections.so_collectionsmodule.so的文件,该文件具有真实的实现,但是inspect.getsource的确不够聪明,无法找出问题所在。

您可以在此处找到来源:

https://github.com/python/cpython/blob/3.7/Modules/_collectionsmodule.c