Python模块完全指南:创建、导入与管理详解

这是文章《Python模块》的第1部分(共1部分)。

内容片段: Python模块本质上是一个包含变量、函数和类的Python脚本文件。Python模块能够帮助我们组织代码,并在其他类或Python脚本中引用它们。

Python模块

一个包含Python定义和语句的文件被称为Python模块。因此,文件名就是模块名,后缀为.py。为了更好地理解,我们创建一个Python模块来完全探索它。首先创建一个名为printNumbers.py的文件,文件内容如下。

def printForward(n):

    # 打印1到n
    for i in range(n):
        print(i+1)


def printBackwards(n):

    # 打印n到1
    for i in range(n):
        print(n-i)

现在在Python解释器中使用以下命令导入这个模块。

import printNumbers
python模块导入示例函数

导入Python模块的特定功能

python模块教程,使用from和star的模块导入变体3

有关Python模块的常见问题解答

让我们来看看与Python模块相关的一些常见问题。

Python中有哪些内置模块?

在Python中有很多内置模块。其中一些重要的模块包括:collections、datetime、logging、math、numpy、os、pip、sys和time。您可以在Python Shell中执行help(‘modules’)命令来获取可用模块的列表。

在Python中,模块和包有什么区别?

Python包是一组Python模块。Python模块是一个单独的Python文件,而Python包是一个包含多个Python脚本和__init__.py文件以定义包详细信息的目录。

我在哪里可以找到Python模块列表?

你可以从Python模块索引的官方页面找到Python模块的列表。然而,如果你想查找可用于你的Python模块,你可以在Python shell中执行help(‘modules’)命令来获取可用模块的列表。

Python模块列表

请查看此GitHub代码库,其中包含最重要的Python模块列表,并通过它们的特定教程和示例程序进行学习。

我如何从不同的目录导入一个模块?

当我们尝试导入一个Python模块时,它会在当前目录和PATH变量所指定的位置进行查找。所以,如果你的Python文件不在这些位置上,就会出现模块未找到错误(ModuleNotFoundError)。解决方法是导入sys模块,并将需要的目录添加到其路径变量中。下面的代码展示了当我们尝试从另一个目录导入时出现的错误,以及我如何通过将其目录添加到路径变量中来解决这个问题。

$ python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/scdev/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>> 

Python模块列表

目前有成千上万个Python模块,并且每天都有更多的模块在开发中。我们为许多热门的Python模块编写了教程。只需从下方的表格链接中跟随,便可学习这些模块。

Python模块
Python os模块
Python sys模块
Python time模块
Python MySQL模块
Python CSV模块
Python multiprocessing模块
Python pickle模块
Python time sleep模块
Python queue模块
Python unittest模块
Python socket模块
Python SimpleHTTPServer模块
Python json模块
Python signal模块
Python random模块
Python系统命令模块
Python守护线程模块
Python复制模块
Python threading模块
Python struct模块
Python logging模块
Python subprocess模块
Python argparse模块
Python functools模块
Python itertools模块
Python getopt模块
Python ftp模块
Python tarfile模块
Python lxml模块
Python ConfigParser模块
Python datetime模块
Python decimal模块
Python collections模块
Python zipfile模块
Python pdb模块
Python io模块
Python fractions模块
Python AST模块
Python HTTP模块
Python xmltodict模块
Python gzip模块
Python HTML解析器模块
Python inspect模块
Python发送邮件模块
Python tempfile模块
Python SQLite模块
Python shutil模块
Python timeit模块
Python getpass模块
Python urllib模块
Python pytz模块
Python pendulum模块
Python arrow模块

参考文献:

  • https://docs.python.org/3/tutorial/modules.html
  • https://docs.python.org/3/py-modindex.html
bannerAds