当前位置:小鱼儿玄机二站 > 编程应用 > Python中引用自定义模块,import自定义模块方法

Python中引用自定义模块,import自定义模块方法

文章作者:编程应用 上传时间:2019-09-04

Python中引用自定义模块

上学了一小段日子的Python,始终停滞在简易的语法上,无法真的体会到Python的强劲之处。前些天学习了自定义模块的援引方法。当援用模块时,编写翻译器会先在当前目录,接着去sys.path、Python的安装目录去寻找你引用的模块,若无的话,就能够报错。

先是种意况,你的模块和你要采取的模块在同等目录下。Hello.py是三个模块,里面有一个打字与印刷Hello, World的点子Hello()。test.py是贰个测验程序,它将引用Hello.py中的hello()方法。因为它和模块在同样目录,所以能够平昔援用。

Hello.py

def hello():
    print "Hello World"

test.py

import Hello
Hello.hello()

第三种意况,模块在别的地点。方法一:先援引sys,对sys.path进行修改,其实正是将模块的路线加到sys.path中。

test.py

import sys
sys.path.append('e:/workspace/Modules')
import Hello
Hello.hello()

办法二:便是将路线参加到碰到变量中去,那一个是世代的,你能够新建多少个特意寄放模块的文件夹,把这几个文件夹的路线插手到景况变量中去,能够一次劳动,永不麻烦,同时也便于管理。

学习了一小段时光的Python,始终停滞在简约的语法上,不能够确实体会到Python的兵不血刃之处。前天学习了自定义模块的引...

python富含子目录中的模块方法比较轻巧,关键是力所能致在sys.path里面找到通往模块文件的渠道。

上边将现实介绍二种常用意况:

(1)主程序与模块程序在同样目录下:

如上面程序结构:

`-- src
  |-- mod1.py
  `-- test1.py

    若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *;

(2)主程序所在目录是模块所在目录的父(或祖辈)目录

如上面程序结构:

`-- src
  |-- mod1.py
  |-- mod2
  |  `-- mod2.py
  `-- test1.py

    若在程序test1.py中程导弹入模块mod2, 要求在mod2文本夹中创设空文件__init__.py文件(也足以在该公文中自定义输出模块接口); 然后采用 from mod2.mod2 import * 或import mod2.mod2.

(3)主程序导入上层目录中模块或别的目录(平级)下的模块

如下边程序结构:

`-- src
  |-- mod1.py
  |-- mod2
  |  `-- mod2.py
  |-- sub
  |  `-- test2.py
  `-- test1.py

    若在程序test2.py中程导弹入模块mod1和mod2。首先须要在mod2下创造__init__.py文件(同(2)),src下不必建构该公文。然后调用格局如下:

   上面程序施行格局均在前后相继文件所在目录下推行,如test2.py是在cd sub;之后实施python test2.py

而test1.py是在cd src;之后推行python test1.py; 不保障在src目录下进行python sub/test2.py打响。

 import sys
  sys.path.append("..")
  import mod1
  import mod2.mod2

 (4)从(3)能够阅览,导入模块关键是能够根据sys.path境况变量的值,找到切实可行模块的不二诀窍。这里仅介绍上边三种简单境况。

评论:

win下面cmd当前目录上运维python交互的时候, 当前目录若是是个python包,要在此时此刻相互引入它, 也亟需 sys.path.append(".."), 不过作者个人的做法不足为奇是sys.path.insert(0,"..")

c:/py25>cd sub 
c:/py25>python 
>>>#import sub #这里提示找不到 
>>>import sys 
>>>sys.path.insert(0,'..') #或者sys.path.append("..") 
>>>import sub #这里引入成功 

诚如是大蛇的当前目录是"能识孙子不识阿爹"的,

约等于要引进当前包的父包的话,要sys.path.insert(0,'../..')了...

上述所述是小编给大家介绍的Python import自定义模块方法,希望对大家享有援救,假使大家有任何疑问请给自家留言,作者会及时苏醒大家的。在此也特别多谢大家对台本之家网址的支撑!

你也许感兴趣的作品:

  • Python中循环征引(import)战败的化解方法
  • python之import机制详解
  • 跟老齐学Python之Import 模块
  • python在差异层级目录import模块的格局
  • python 景况变量和import模块导入方法(详解)
  • 浅谈python import引进分化路子下的模块
  • 详解Python import方法引进模块的实例
  • Python中import机制详解
  • python中import学习备忘笔记
  • python学习基础之循环import及import进程

本文由小鱼儿玄机二站发布于编程应用,转载请注明出处:Python中引用自定义模块,import自定义模块方法

关键词: