400-800-8975

python如何导入模块

python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。那么python如何导入模块呢?一起来了解下吧:
python如何导入模块
python如何导入模块
第一种,直接 import
这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录),如下图:
main.py 和 pwcong模块同在python目录
执行文件为main.py
pwcong文件夹为一个模块
我把pwcong模块提供的函数写在 __init__.py 里,里面只提供一个 hi 函数:
# pwcong 模块的 __init__.py
# -*- coding: utf-8 -*-
def hi():
print("hi")
执行文件main.py直接import模块:
# main.py
# -*- coding: utf-8 -*-
import pwcong
pwcong.hi()
接着我们运行一下main.py可以看到命令行窗口输出了一句 hi ,第一种方式完成。
使用模块方式为:先导入-》接着输入模块.变量|函数, 如上面例子的 pwcong.hi()
第二种,通过sys模块导入自定义模块的path
如果执行文件和模块不在同一目录,这时候直接import是找不到自定义模块的。如下图:
执行文件main.py在main目录下
pwcong模块在python目录下
sys模块是python内置的,因此我们导入自定义模块的步骤如下:
先导入sys模块
然后通过sys.path.append(path) 函数来导入自定义模块所在的目录
导入自定义模块。
这时候 main.py 这样写:
# main.py
# -*- coding: utf-8 -*-
import sys
sys.path.append(r"C:UsersPwcongDesktoppython")
import pwcong
pwcong.hi()
最后执行main.py文件,最终输出 hi ,第二种方式完成。
第三种,通过pth文件找到自定义模块
这个方法原理就是利用了系统变量,python会扫描path变量的路径来导入模块,可以在系统path里面添加。但是我还是推荐使用pth文件添加。
模块和执行文件目录结构跟上图一样:
执行文件main.py在main目录下
pwcong模块在python目录下
我们创建一个 module_pwcong.pth 文件,里面内容就是 pwcong模块所在的目录:
C:UsersPwcongDesktoppython
将该 module_pwcong.pth 文件放到这里:
python安装目录Python35Libsite-packages
python怎么导入模块
在python里面可以通过import导入模块,这是一个非常强大的功能,我们导入math这个模块来看看吧!
>>> import math
>>> math.sin(1)
0.8414709848078965
上面一段代码通过import导入了math(数学)模块,然后通过math.sin()函数计算sin(1)的值。
任何python程序都可以作为模块导入,我们通过在python shell里面新建一个文件或者快捷键ctrl+N快捷键打开之后开始写自己的代码,写好之后保存,保存的位置也很重要哦!
如何导入python模块
python怎么导入模块
.如果导入的模块和主程序在同个目录下,直接import就行了
2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。
3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:
(1)通过”import sys,sys.path.append('父目录的路径')“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。
(2)直接修改环境变量:在windows中是 “ set 变量=‘路径’ ” 例如:set PYTHONPATH=‘C: est...’ 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 "export 变量=‘路径’ “,查看是" echo $变量 "
通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。
python怎样导入模块
  在同一个文件夹下有两个文件分别是main.py和module_file.py
  module_file.py文件的内容
#!/usr/bin/env python
# -*- coding:utf-8 -*-
name = 'Eric.yue'
def running():
print 'I am is running'
def watching():
print 'I am watching'
那么在main中调用module_file的方法有几种:
1 #1、直接导入使用,导入的其实是模块(或者说赋给module_file这个变量),所以访问的时候要加模块名
2
3 import module_file
4
5 #访问其属性
6 print module_file.name #Eric.yue
7
8 #访问其方法
9 module.running()
10 module.watching()
11
12 #2、如果要直接调用
13 from module_file import *
14 #如果只想导入部分模块
15 from module_file import name,watching
16
17 running()
18 watching()
19
20 #如果有方法和main中的方法有冲突那么需要这么做
21 from module_file import running as mod_running
22
23 mod_running()
python模块导入的方法
import ..         #导入整个模块
from .. import ..     #导入模块中的类、函数或者变量
from .. import *      #导入模块中的所有公开成员
from .. import .. as ..  #这个是给导入的成员取个别名
具体来看:
example:
1.import object
导入时自动生成一个以模块名为名的object使用时需要用这个object来调用
root = object.member()
2.from object import member
导入了我们需要的模块中的类、函数或者变量,使用时用我们可以省略模块名
root = member()
3.from object import *
这个和2的区别在于不是特定的引入而是将他的全部公开成员导入
方法同2
4.from object import member as new_member
给我们导入的成员改个名字
root = new_member()
12 12 分享:

相关课程

发表评论

登录后才能评论,请登录后发表评论...
提交评论

最新文章