在python中用import或者from...import来导入相应的模块。

模块(Module)其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。

当Import一个Module文件时,Python执行程序会在对其进行一次编译后,会生成.pyc扩展名的字节码文件,同时也会检查.py文件的语法问题。所以当Import出现错误时,可以考虑是否出现了语法错误。

可以使用Python内置的dir( )方法来查看这一个Module的内置方法和自定义的属性、方法(以__X__命名的多为系统变量)。

如:

import email
dir(email)
在.py文件中可以随时随地的使用import语句来导入Python的内置函数模块

(module就是一个.py文件)
(package就是一个包含.py文件的文件夹,文件夹中还包含一个特殊文件__.init__.py)

使用方法:

import package1 #正确
import module #正确
from module import function #正确
from package1 import module #正确
from package1.package2 import #正确
import module.function1 #错误

特别说明
1 import执行加载源文件中所有语名(所以模块是一个文件)。
2 import语句可以出现在程序中的任何位置。但是有一点是:无论import语句被使用了多少次,每个模块中的代码仅加载和执行一次,后续的import语句仅将模块名称绑定到前一次导入所创建的模块对象上。

from datetime import datetime as dt

import 搜索路径顺序
(1)程序的主目录:即程序(顶层)文件所在的目录(有时候不同于当前工作目录(指启动程序所在目录))。
(2)PYTHONPATH (环境变量)目录
(3)标准链接库目录
(4)任何 .pth 文件的内容(如果存在的话):安装目录下找到该文件,以行的形式加入所需要的目录即可。
以上四个组件组合起来就变成了 sys.path,其保存了模块搜索路径在机器上的实际配置,可以通过打印内置的sys.path 列表来查看这些路径。

import sys
print(sys.path)

python的模块导入机制的更多相关文章

  1. [python]关于在python中模块导入问题追加总结

    [背景] 最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结 原帖子:[python]关于python中模 ...

  2. python random模块导入及用法

    random是程序随机数,很多地方用到,验证码,图片上传的图片名称等,下面说说python random模块导入及用法 1,模块导入 import random 2,random用法 random.r ...

  3. python Calendar 模块导入及用法

    Calendar 是python 日历模块,此模块的函数都是日历相关的,例如打印某月的字符月历,星期之类的模块,下面剖析python Calendar 模块导入及用法. 1,python导入日历模块 ...

  4. python中模块导入问题(已解决)

    想在python中导入request包: 无此模块,于是先安装requests包: 但是提示"Requirement already satisfied".在提示的相应目录里,找到 ...

  5. python自定义模块导入方法,文件夹,包的区别

    python模块导入,网上介绍的资料很多,方法也众说纷纭.根据自己的实践,感觉这个方法最简单直接,而且可以与主流的python ide生成的工程是一样的. 规则只有三条 1.      严格区分包和文 ...

  6. python之模块导入和包

    一.何为模块 1.一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 2.模块目的和函数,对象等一样,是为了代码的复用性而存在的.即一个py程序写了很多功能,也可 ...

  7. Python之模块导入

    import sys #import module (.py)import functools #名词空间 functoolsprint(functools) print("-------- ...

  8. python之模块导入和重载

    模块导入和重载 模块导入通过import语句实现,但是在同一次会话中只运行一次. 若想要再次运行文件,调用imp标准库中的reload函数: >>> from imp import ...

  9. python的模块导入问题

    以下内容参考:http://www.xinxingjiaocheng.com/online/item/7/89 1.给模块起个别名 如果一个模块的名字很长很长,就像这样comput_the_value ...

随机推荐

  1. WPF学习(三) - 依赖属性

    学习WPF时,我在看一本叫做“深入浅出WPF”的书.整整20页都在讲依赖性性和附加属性,反复看了几遍居然还是不懂,真是郁闷. 上一篇中WPF绑定的例子,其实已经用到了依赖属性. // 作为被绑定的目标 ...

  2. 让placeholder中的默认文字居中,或者缩进多少像素

    直接给input或者textarea的样式加texta-align:center; <input type="" name="" id="&qu ...

  3. jqGrid系列知识

    1.获取选中到行的ID var rowKey = jQuery(grid_selector).getGridParam("selrow"); 2.获取选中行除ID之外的数据 var ...

  4. 优动漫PAINT-超简单灌木教程

    超简单灌木教程~零基础神马的都能神还原哦! 优动漫PAINT下载:http://wm.makeding.com/iclk/?zoneid=18597 想要Get到更多有关优动漫的信息包括软件下载,可关 ...

  5. Day92

    # session:用于保存客户端历史访问的信息# BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化,# 之后遍可以使用他提供的方法进行快速查找指定元 ...

  6. 计算机组成原理--64位CPU装载32位操作系统,它的寻址能力还是4GB吗?

    借由这个问题,今天我们就把 32 位 CPU.64 位 CPU.32 位操作系统.64 位操作系统之间的区别与联系彻底搞清楚.对于这个问题,博主也是一知半解了好长时间啊~ 基本概念 32位的CPU与6 ...

  7. 获取mapper

    static UpdateLogMapper updateLogMapper = (UpdateLogMapper)SpringContextUtil.getBean(UpdateLogMapper. ...

  8. python 比较数字大小按从大到小输出

    主要用到的python 的知识点 1:   内置函数max 2:     列表的操作 3:   while 循环 4 :  错误处理 代码如下: #!/usr/bin/python #coding=u ...

  9. sqlmap 实战漏洞平台dvwa进行密码破解

    2016-05-24 (1)实验的具体的环境极其思路 首先我们要检测我们的漏洞平台是否有sql注入 ,进行简单的测试发现在用户userid 上存在注入的漏洞 使用抓包工具对其cookie 进行获取如下 ...

  10. LVM 镜像硬盘更换、数据恢复(centos7.4 redhat7.5)

      案例说明 Centos7 VG:vg LV:vg-lvRedhat 7.5VG:vgtest LV:lvtest 目的:模拟硬盘 /dev/sdb损坏.在线添加新硬盘/dev/sdc,lv镜像数据 ...