如何找出python模块拥有的方法,属性等

ldm*_*vcd 37 python import

让我们说我导入一个模块.为了让我充分利用它,我想知道我可以使用哪些属性,方法等.有没有办法找到它?

例如:在Python中确定正在运行的程序

在这一行:

os.system('WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid')
Run Code Online (Sandbox Code Playgroud)

假设我想打印出进程消耗的内存.我怎么知道这是否可能?它的正确"标签"是什么?(正如作者使用'Commandline','ProcessId')

同样,在这:

import win32com.client
def find_process(name):
    objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator")
    objSWbemServices = objWMIService.ConnectServer(".", "root\cimv2")
    colItems = objSWbemServices.ExecQuery(
         "Select * from Win32_Process where Caption = '{0}'".format(name))
    return len(colItems)

print find_process("SciTE.exe")
Run Code Online (Sandbox Code Playgroud)

我如何使该功能也打印出所消耗的内存,可执行路径等?

Tim*_*ker 47

至于Python模块,你可以这样做

>>> import module
>>> help(module)
Run Code Online (Sandbox Code Playgroud)

并且你将得到一个支持的方法列表(更确切地说,你得到docstring,它可能不包含每一个方法).如果你想要,你可以使用

>>> dir(module)
Run Code Online (Sandbox Code Playgroud)

虽然现在你只需要获得该模块中所有属性,方法,类等的长列表.

在你的第一个例子中,你正在调用外部程序.当然Python不知道哪些功能wmic.exe有.应该怎么做?

  • 通过阅读[文档](http://msdn.microsoft.com/en-us/library/aa394531%28v=vs.85%29.aspx). (3认同)

eyq*_*uem 13

dir(module) 返回模块属性的名称

module.__dict__ 是键和属性对象本身之间的映射

module.__dict__.keys()并且dir(module)是具有相同元素的列表,尽管它们不相等,因为元素在它们中的顺序不同

这似乎是help(module)你真正需要的