从第三方Python模块中提取信息?

2024-09-30 20:39:04 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:我在Java工作多年,但我对Python还不熟悉,所以如果这是一个模糊的问题,我很抱歉。我只是想做点什么。你知道吗

我正在尝试使用第三方Python模块,这是一个应用程序SDK。Python模块是底层遗留csdk的包装器。你知道吗

这个模块的文档非常糟糕-它基本上是一个包含类和方法的列表,几乎没有解释方法做什么或者它们如何与底层C函数调用相关。(例如,在一种情况下,Python方法需要5个参数,而底层C函数需要6个参数。没有迹象表明区别是什么,或者争论应该是什么。这是典型的。)

有什么方法可以查看这个编译过的Python模块(没有提供源代码)并收集更多信息吗?你知道吗


Tags: 模块方法函数文档应用程序列表参数sdk
1条回答
网友
1楼 · 发布于 2024-09-30 20:39:04

寻找模块信息的一个好的起点是。。。你知道吗

>>> import <modulename>
>>> <modulename>

它通常是四种可能的类型之一。。。你知道吗


<强>1。内置

>>> import sys
>>> sys
module 'sys' (built-in)>

它们通常用C编写,并编译成Python解释器二进制文件。你知道吗


<强>2。动态加载的库

>>> import parser
>>> parser
<module 'parser' from '/usr/lib/python2.7/lib-dynload/parser.x86_64-linux-gnu.so'>

这些文件通常也是用C编写的,但存储在单独的二进制文件中。常见的文件扩展名包括:.pyd.dll.so。你知道吗


3岁。Python模块

>>> import socket
>>> socket
<module 'socket' from '/usr/lib/python2.7/socket.pyc'>

这些代码至少部分是用Python编写的,通常可以通过删除文件名末尾的c来查看源代码,即/usr/lib/python2.7/socket.py。你知道吗

用Python编写的模块导入其他二进制模块,做纯Python做不到的事情也是很常见的。例如。。。你知道吗

>>> socket._socket
<module '_socket' (built-in)>

4岁。Python包

>>> import xml
>>> xml
<module 'xml' from '/usr/lib/python2.7/xml/__init__.pyc'>

这些代码至少部分是用Python编写的,但通常文件__init__.py是空的,源代码包含在同一目录下的其他文件中,即/usr/lib/python2.7/xml。你知道吗

相关问题 更多 >