模块

Posted alben-xue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块相关的知识,希望对你有一定的参考价值。

模块分为三类:

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

[email protected]:~$ 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‘

以上是关于模块的主要内容,如果未能解决你的问题,请参考以下文章

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

argparse 代码片段只打印部分日志

nodejs常用代码片段

常用python日期日志获取内容循环的代码片段

Yarn: 一个新的JavaScript模块管理器