问题描述
使用内置函数dir()
可以返回当前范围的属性列表,对于查看陌生不熟悉的模块、变量用法特别方便,但是直接输出看上去密密麻麻非常杂乱
>>> import requests
>>> dir(requests)
['ConnectTimeout', 'ConnectionError', 'DependencyWarning', 'FileModeWarning', 'HTTPError', 'NullHandler', 'PreparedRequest', 'ReadTimeout', 'Request', 'RequestE
xception', 'RequestsDependencyWarning', 'Response', 'Session', 'Timeout', 'TooManyRedirects', 'URLRequired', '__author__', '__author_email__', '__build__', '__b
uiltins__', '__cached__', '__cake__', '__copyright__', '__description__', '__doc__', '__file__', '__license__', '__loader__', '__name__', '__package__', '__path
__', '__spec__', '__title__', '__url__', '__version__', '_check_cryptography', '_internal_utils', 'adapters', 'api', 'auth', 'certs', 'chardet', 'check_compatib
ility', 'codes', 'compat', 'cookies', 'cryptography_version', 'delete', 'exceptions', 'get', 'head', 'hooks', 'logging', 'models', 'options', 'packages', 'patch
', 'post', 'put', 'pyopenssl', 'request', 'session', 'sessions', 'status_codes', 'structures', 'urllib3', 'utils', 'warnings']
解决方案
- 安装
pip install pdir2
- 导入
import pdir
- 使用
pdir()
函数
import requests
pdir(requests)
效果如下
>>> import pdir
>>> pdir(requests)
property:
__author__, __author_email__, __build__, __builtins__, __cake__, __copyright__, __description__, __license__, __title__, __url__, __version__, _internal_uti
ls, adapters, api, auth, certs, chardet, codes, compat, cookies, cryptography_version, exceptions, hooks, logging, models, packages, pyopenssl, sessions, status
_codes, structures, urllib3, utils, warnings
module attribute:
__cached__, __file__, __loader__, __name__, __package__, __path__, __spec__
special attribute:
__doc__
class:
NullHandler: This handler does nothing. It's intended to be used to avoid the
PreparedRequest: The fully mutable :class:`PreparedRequest <PreparedRequest>` object,
Request: A user-created :class:`Request <Request>` object.
Response: The :class:`Response <Response>` object, which contains a
Session: A Requests session.
function:
_check_cryptography:
check_compatibility:
delete: Sends a DELETE request.
get: Sends a GET request.
head: Sends a HEAD request.
options: Sends an OPTIONS request.
patch: Sends a PATCH request.
post: Sends a POST request.
put: Sends a PUT request.
request: Constructs and sends a :class:`Request <Request>`.
session: Returns a :class:`Session` for context-management.
exception:
ConnectTimeout: The request timed out while trying to connect to the remote server.
ConnectionError: A Connection error occurred.
DependencyWarning: Warned when an attempt is made to import a module with missing optional
FileModeWarning: A file was opened in text mode, but Requests determined its binary length.
HTTPError: An HTTP error occurred.
ReadTimeout: The server did not send any data in the allotted amount of time.
RequestException: There was an ambiguous exception that occurred while handling your
RequestsDependencyWarning: An imported dependency doesn't match the expected version range.
Timeout: The request timed out.
TooManyRedirects: Too many redirects.
URLRequired: A valid URL is required to make a request.