如何在 Python 模块中找到 class 或函数?

How to find a class or function in a Python module?

我试图在 tensorflow 中找到 gen_dataset_ops 的函数或 class 定义,它有它的源代码 here。我发现很多地方都是这样导入的:

from tensorflow.python.ops import gen_dataset_ops

但我找不到它的定义位置,我希望找到类似的内容:

def gen_dataset_ops(...):
  #Do something clever
  return

我不太了解 python 模块的总体结构,所以我可能在这里遗漏了一些基础知识,..欢迎任何提示!

我会导航到您的 python 目录(此示例适用于 ubuntu 上的 virtualenv):

~/pyEnvs/env1/lib/python2.7/site-packages/tensorflow/python/ops.py 并打开该文件。在该文件中,使用 Ctrl+F 并找到您要查找的函数。

我的回答假设您知道 python 环境的安装位置并且您使用 pip

安装了 tensorflow

tensorflow.python.ops.gen_dataset_ops 是生成的代码。 (这就是为什么他们将 gen 放在名称前面的原因。)您无法在源存储库中找到它,因为它不在 源存储库;它仅在 Tensorflow 构建过程中出现。

如果您安装了 Tensorflow,您应该能够在 Tensorflow 安装中的 tensorflow/python/ops/gen_dataset_ops.py 下找到 gen_dataset_ops.py