b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

从Python3导入自定义模块的三种方法的详细说明

电脑杂谈  发布时间:2020-06-11 04:08:47  来源:网络整理

python3 retrieve_python3 format函数_python3模块

前言

最近学习了廖学峰的教程中的模块部分. 关于如何自定义模块,如果您不了解它,请看一下基本介绍:

模块

在计算机程序的开发过程中,随着程序代码的编写越来越多,代码在文件中的位置将越来越长,从而使其维护的难度越来越小.

为了编写可维护的代码,我们将许分组到单独的文件中,以便每个文件包含相对较少的代码,并且许多编程语言都使用这种组织代码的方式. 在Python中,.py文件称为模块.

使用模块有什么好处?

最大的好处是大大提高了代码的可维护性. 其次,编写代码不必从头开始. 编写模块时,可以在其他地方引用它. 在编写程序时,我们经常引用其他模块python3模块,包括使用Python内置的模块和来自第三方的模块.

使用模块还可以避免函数名称和变量名称之间的冲突. 具有相同名称的函数和变量可以存储在不同的模块中. 因此,当我们自己编写模块时,我们无需考虑名称会与其他模块冲突. 但也要注意,尽量不要与内置函数名称冲突. 单击此处以查看Python的所有内置函数.

您可能还会想,如果不同人编写的模块名称相同怎么办?为了避免模块名称冲突,Python引入了一种通过目录组织模块的方法,称为软件包.

例如,文件abc.py是名为abc的模块,文件xyz.py是名为xyz的模块.

现在,假设我们的两个模块名称abc和xyz与其他模块发生冲突,因此我们可以通过软件包来组织这些模块以避免冲突. 方法是根据以下目录选择顶级程序包名称,例如mycompany:

我的公司

├─__init __. py

python3 format函数_python3 retrieve_python3模块

├─abc.py

└─xyz.py

引入软件包后,只要顶级软件包名称不与其他软件包冲突,那么所有模块都不会与其他软件包冲突. 现在,abc.py模块的名称变为mycompany.abc. 同样,xyz.py的模块名称变为mycompany.xyz.

请注意,每个软件包目录下都有一个__init__.py文件. 该文件必须存在,否则,Python将把该目录视为普通目录,而不是软件包. __init__.py可以是一个空文件或具有Python代码,因为__init__.py本身是一个模块,其模块名称为mycompany.

类似地,可以有多层目录来形成多层包装结构. 例如,以下目录结构:

我的公司

├─网络

│├─__init __. py

│├─utils.py

│└─

├─__init __. py

├─abc.py

└─xyz.py

python3 retrieve_python3 format函数_python3模块

模块名称

文件是mycompany.web.www,两个文件utils.py的模块名称是mycompany.utils和mycompany.web.utils.

在创建自己的模块时要小心. 不要与Python随附的模块名称冲突. 例如,如果系统附带sys模块,则其自身的模块不能命名为sys.py,否则它将无法导入系统随附的sys模块.

mycompany.web也是一个模块,请指出与此模块相对应的.py文件.

摘要

模块是Python代码的集合,可以使用其他模块,也可以被其他模块使用.

在创建自己的模块时,请注意:

模块是一件好事. Daniel的许多模块的开源共享也加速了所有人的发展. 可以在这里找到许多开源模块↓

由于我刚开始时有许多我不了解的细节,所以我发现在互联网上搜索信息时,关于大神的教程过于精简. 这使我的新秀很难成功操作.

所以在这里记录下来.

开始

第一个,直接导入

这里有一个很大的前提,那就是您的py执行文件和模块属于同一目录(父目录),如下所示:

python3模块_python3 retrieve_python3 format函数

我在__init__.py中编写了pwcong模块提供的函数,该函数仅提供一个hi函数:

# pwcong 模块的 __init__.py
# -*- coding: utf-8 -*-
def hi():
 print("hi")

执行main.py文件直接导入模块:

# main.py
# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

然后我们运行main.py,我们可以看到命令行窗口输出hi,第一种方法已经完成.

使用模块的方式是: 首先导入->然后输入模块. 变量|,例如上例中的pwcong.hi()

第二,通过sys模块导入自定义模块的路径

如果执行文件和模块不在同一目录中,则直接导入此时无法找到定制模块. 如下图所示:

sys模块内置在python中,因此我们按以下方式导入自定义模块:

首先导入sys模块,然后通过sys.path.append(path)函数导入自定义模块所在的目录. 导入自定义模块.

这次main.py是这样写的:

# main.py
# -*- coding: utf-8 -*-
import sys
sys.path.append(r"C:\Users\Pwcong\Desktop\python")
import pwcong
pwcong.hi()

main.py文件最终被执行python3模块,hi最终被输出. 第二种方法完成.

python3模块_python3 retrieve_python3 format函数

第三,通过pth文件找到自定义模块

此方法的原理是使用系统变量. Python将扫描path变量的路径以导入模块,该模块可以添加到系统路径中. 但是我仍然建议使用pth文件添加.

模块和可执行文件的目录结构与上图相同:

我们创建一个module_pwcong.pth文件,其中包含pwcong模块所在的目录:

C: \ Users \ Pwcong \ Desktop \ python

将module_pwcong.pth文件放在此处:

python安装目录\ Python35 \ Lib \ site-packages

例如我的:

然后main.py导入并使用自定义模块:

# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()

最后执行main.py文件,可以输出hi,这是第三种方法.

结束

以下是导入自定义模块的三种方法. 栗子做完了,我应该详细写出来: )

好的,以上是本文的全部内容. 希望本文的内容对每个人的学习或工作都有一定的参考价值. 如有任何疑问,可以留言和交流. 谢谢您的支持.

本文标题: 从Python3导入自定义模块的三种方法

本文地址:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-241368-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...