-2

我有一个模糊定义的模块类 Graph 的函数,我称之为 gt(它是图形工具)。所以我声明 g = gt.graph() 然后想使用 g.degree_property_map 但不知道如何。因此,我想查看代码 g.degree_property_map 或在这种情况下仅定义函数的位置。我怎么能找到那个?我正在使用虚拟机上的命令行。

谢谢

作为参考,有问题的库是 graph-tool - http://projects.skewed.de/graph-tool/

另外,我目前正在使用 from graph_tool.all import * 导入它。这当然有点问题。

4

4 回答 4

3

你可以使用inspect.getsource(gt.Graph.degree_property_map). (你必须import inspect。)

当然,你传入的内容getsource()会根据你导入的方式而改变Graph。所以如果你用过from graphtools.all import *,你只需要用inspect.getsource(Graph.degree_property_map)

于 2012-10-17T20:06:29.470 回答
1

如果您打开交互式 python(python在命令行上键入并按 ENTER),您应该能够运行命令help(<graph's module name>),然后,在FILE生成的帮助文档部分下,您应该看到您感兴趣的代码的绝对路径在。

例如,我刚刚跑了:

import numpy
help(numpy)

# Returned documentation containing:
# FILE
# /usr/lib/python2.7/dist-packages/numpy/__init__.py

还,

import my_module # A module I just created that contains the "Line" class
help(my_module)

# Returned documentation containing:
# FILE
# /home/<my user name>/Programming/Python/my_module.py
于 2012-10-17T20:09:00.013 回答
1

如果它是普通函数(不是内置函数、ufunc 等),您可以尝试使用该func_code属性

例如:

>>> inspect.iscode
<function iscode at 0x02EAEF30>
>>> inspect.iscode.func_code
<code object iscode at 02EB2B60, file "C:\Python27\lib\inspect.py", line 209>
于 2012-10-17T20:17:00.380 回答
0

没关系,我只是做了帮助(graph_tool)并手动跳过了代码。不过感谢您的帮助!

于 2012-10-17T20:35:00.540 回答