如何找出python模块拥有哪些方法、属性等

如何找出python模块拥有哪些方法、属性等,python,import,Python,Import,假设我导入了一个模块。为了更好地利用它,我想知道我可以使用哪些属性、方法等。有办法找到答案吗 例如: 在这方面: os.system('WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid') 假设我还想打印出进程消耗的内存。我怎样才能知道这是否可能?正确的“标签”是什么?(正如作者使用“Commandline”、“ProcessId”) 同样,在这方面: import win32com.client

假设我导入了一个模块。为了更好地利用它,我想知道我可以使用哪些属性、方法等。有办法找到答案吗

例如:

在这方面:

os.system('WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid')
假设我还想打印出进程消耗的内存。我怎样才能知道这是否可能?正确的“标签”是什么?(正如作者使用“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")

如何使函数也打印出所消耗的内存、可执行路径等?

Python有一个名为dir()的内置函数。我不确定这是否是您所指的,但启动一个交互式python控制台并键入:

import datetime
dir(datetime)

这将为您提供方法、属性和子模块的列表

对于Python模块,您可以这样做

>>> import module
>>> help(module)
您将获得受支持方法的列表(更确切地说,您将获得docstring,它可能不包含每个方法)。如果你想要,你可以使用

>>> dir(module)
虽然现在您只需要获得该模块中所有属性、方法、类等的一个长列表

在第一个示例中,您正在调用一个外部程序。当然,Python不知道
wmic.exe
有哪些特性。它应该如何执行?

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

模块。dict是键和属性对象本身之间的映射

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

似乎
帮助(模块)
才是您真正需要的

@ldmvcd

好的,对不起,我想你是个初学者,你不明白我指的是什么基本概念

对象是Python对对象的抽象 数据。Python程序中的所有数据都是 由对象或关系表示 在对象之间。

我不明白为什么它被称为“抽象”:对我来说,一个对象是机器中真实的东西,一系列按照一定规则组织的位来表示概念数据或功能

名称指的是对象。名字是 通过名称绑定操作引入。 中出现的每个名称 程序文本指的是 这个名字建立在最里面 包含用法的功能块。

名称空间是从名称到名称的映射 对象大多数名称空间当前都是 作为Python字典实现, 但这通常在中国并不明显 任何方式(表演除外),以及 将来可能会改变。例子 名称空间的集合是:内置的 名称(包含函数,例如 abs()和内置异常名称); 模块中的全局名称;和 函数调用中的本地名称。 在某种意义上,一个系统的属性集 对象也可以形成名称空间。

顺便说一下,我使用单词属性 在点后面的任何名称 例如,在表达式z.real中, real是对象z的一个属性。 严格地说,提到名字 模块中有属性引用: 在表达式modname.funcname中, modname是一个模块对象,并且 funcname是它的一个属性。在里面 这个案子正好有一个 在 模块的属性和全局 模块中定义的名称:它们 共享同一名称空间!

名称空间是在不同的位置创建的 瞬间和瞬间有着不同的生命。

模块的命名空间为 第一次自动创建 模块已导入。主模块 因为脚本总是被调用 main

Python程序是一台大型机器,它处理对象、对这些对象的引用、这些对象的名称以及名称与对象绑定的名称空间,名称空间被实现为字典

所以,你是对的:当我提到键时,我指的是名称是不同名称空间中的键。名称是任意的还是非任意的,取决于创建名称的对象是用户对象还是内置对象

我建议你仔细阅读这些部分

3.1。对象、值和类型

4.1。命名和绑定

谢谢!所以在我的第一个例子中,如果我需要知道我可以使用的其他特性,我将如何去做呢。例如,如果我还想打印出可执行路径,请阅读。感谢您为我提供文档。但我看不到如何检索我想要的其他属性。我遗漏了什么?@Tim我不确定你是否收到了通知,因为我没有在评论中标记你。以防万一:)对不起,我帮不了你。我的答案是关于如何找出Python模块的属性(这是您所问的)。您的问题似乎是要找出某个Windows服务器工具具有哪些功能-关于这一点,除了RTM之外,我一点也不知道。谢谢!模块.\uuuuu dict\uuuuuuuu将什么类型的键映射到属性对象?@ldmvcd我不理解你的问题。模块的属性是对象,就像Python中的所有属性一样。为了便于获取和使用,将对象绑定到名称:“名称指的是对象。名称由名称绑定操作引入。程序文本中出现的每个名称都是指在包含使用的最内层功能块中建立的该名称的绑定。”doc。此绑定的键是几乎任意性质的名称,请参见此处的名称:()@ldmvcd还可以执行
import array
,例如,
print array.\uu dict\uuuu
,您将看到键…您提到了该模块。\uu dict\uuuu是键和