有没有一种简单的方法来获取这个数字,而无需在Eclipse中滚动每个文件(使用PyDev或其他插件)?我将我的代码分成功能/较小的类。
答案 0 :(得分:0)
我不知道这是否是您正在寻找的,但您可以使用inspect
模块(标准库的一部分)在Python本身执行此操作,而无需咨询IDE。
import inspect
class MyClass():
def __init__(self):
pass
def method1(self):
pass
def method2(self):
pass
# exclude __...__ methods
actual_methods = [member for member in inspect.getmembers(MyClass)
if not member[0].startswith('__')]
print(len(actual_methods))
结果:
2
答案 1 :(得分:0)
PyDev没有内置任何东西,但你可以使用脚本功能:
http://pydev.org/manual_articles_scripting.html
要获得类/方法,它可以是:
from org.python.pydev.parser.fastparser import FastDefinitionsParser
from org.python.pydev.parser.visitors.scope.EasyASTIteratorVisitor import EasyASTIteratorVisitor
ps = edit.createPySelection()
contents = ps.getDoc().get()
ast = FastDefinitionsParser.parse(contents)
visitor = EasyASTIteratorVisitor()
ast.accept(visitor)
nodes = visitor.getClassesAndMethodsList()
那应该从PyDev中提供类/方法(然后你可以通过检查节点来完成你需要的逻辑 - 在这种情况下,它将为你提供类/方法/属性)。
脚本引用应该为您提供有关如何将代码绑定到操作的详细信息(请注意,它将在当前版本为2.2.1的内部PyDev Jython解释器中运行)。