Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的默认模块_Python_Python 3.x - Fatal编程技术网

Python中的默认模块

Python中的默认模块,python,python-3.x,Python,Python 3.x,当我想检查Python中默认加载的模块时,我运行了以下代码: import sys for key in sorted(sys.modules.keys()): print(key) 我有一个很长的列表,其中包括操作系统、数学等模块。那么,这是否意味着这些模块不需要显式导入?我的观点是为什么这些模块而不是其他模块?例如,我看到lzma模块。为什么要使用此模块?当您运行代码时,会得到如下结果: abc argparse array ast asyncio asyncio.base_ev

当我想检查Python中默认加载的模块时,我运行了以下代码:

import sys

for key in sorted(sys.modules.keys()):
    print(key)

我有一个很长的列表,其中包括操作系统、数学等模块。那么,这是否意味着这些模块不需要显式导入?我的观点是为什么这些模块而不是其他模块?例如,我看到lzma模块。为什么要使用此模块?

当您运行代码时,会得到如下结果:

abc
argparse
array
ast
asyncio
asyncio.base_events
asyncio.base_futures
asyncio.base_subprocess
asyncio.base_tasks
asyncio.constants
asyncio.coroutines
asyncio.events
asyncio.exceptions
asyncio.format_helpers
asyncio.futures
asyncio.locks
asyncio.log
asyncio.protocols
asyncio.queues
asyncio.runners
asyncio.selector_events
asyncio.sslproto
asyncio.staggered
asyncio.streams
asyncio.subprocess
asyncio.tasks
asyncio.transports
asyncio.trsock
asyncio.unix_events
atexit
backcall
backcall.backcall
base64
bdb
binascii
bisect
boto3
...
因此,输出可能会有所不同


这意味着这些库已在您的计算机上可用。您不需要显式安装它,但每次都必须在代码中导入它。比如:

import os

否则会出现ModuleNotFoundError,要安装任何库,都需要使用pip。

因此,您决定询问,而不是在不导入的情况下尝试使用列出的任何模块,看看会发生什么?@OlvinRoght请参阅edit这意味着这些库已经在您的计算机上可用-这不是输出的意思。这是一个模块列表,某些代码已经在这个Python过程中导入了这些模块。可能还有更多的模块可用。顺便说一句,如果你真的运行了代码,并且输出是这样的,那么你的环境就有点奇怪了。大多数环境不会已经加载所有这些模块。