码迷,mamicode.com
首页 > 其他好文 > 详细

模块(1)

时间:2017-05-28 09:57:56      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:arm   pycha   test   导入模块   log   which   ram   标准库   named   

模块分为三类:

1、自定义模块

2、内置标准模块(标准库)

3、开源模块

 

Python 包管理工具:

PIP

Windows 位置:

 Users\xxx\AppData\Local\Programs\Python\Python36-32\Scripts

 1,pip.exe

 2,pip36.exe

 3,pip3.exe

 

Ubuntu 开发者环境同样自带pip

alben@Python:~$ which pip3

/usr/bin/pip3

 

Windows python全局环境变量查看——

查看方法:

python终端进行如下操作

Import sys

Print (sys.path)

得到的一个结果是列表,我们导入的模块必须在这个列表中某个位置!

 

测试自定义模块的import

我们在Pycharm的test目录下新建了一个包叫做abc,这个包下面创建 一个包叫做cba,在cba下创建hello.py文件

Hello.py的代码如下:

def hi():

    print(hello,world)

 

在全局目录创建一个test_import.py文件,测试模块导入
 

import hello  #hello是模块名

hello.hi()    #hi是方法的名字

 

 

测试效果:

Traceback (most recent call last):

  File "D:/Alben-PY/test_import.py", line 1, in <module>

    import hello

ModuleNotFoundError: No module named ‘hello‘

 

返回了一个Traceback,报错了!

 

因为:

test_import.py在Alben-PY目录下

hello.py在Alben-PY\test\abc目录下

Python通过环境变量进行模块查找的时候,是不会进行目录递归的,这里就报错找不到模块‘hello‘

 

我们只需要更换导入的方法即可:

import  sys

from  test.abc.cba import hello

hello.hi()

 

 

这里之所以可以通过test.abc.cba的方式跨目录导入,是因为在pycharm中创建python包的时候,会动态创建py文件

‘__init__.py‘。当目录中存在这个文件的时候,python就认为这一个模块包!

 

所以如果跨目录导入模块,必须保证每一层目录下都有文件:‘__init__.py‘

模块(1)

标签:arm   pycha   test   导入模块   log   which   ram   标准库   named   

原文地址:http://www.cnblogs.com/alben-cisco/p/6914908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!