• python的模块导入机制


    在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)

  • 相关阅读:
    [ERROR]SFTP is not available
    [BTS] Loading property information list by namespace failed or property not found in the list. Verify that the schema is deployed properly.
    IBatisNet系列执行存储过程
    NickLee.FortuneBase数据库sql server修正版
    NickLee.FortuneBase数据库sql server版新增页面详细说明
    实战CRM系统项目:1.需求分析
    项目实战之CRM系统(一)前言
    ASP.NET基础权限系统
    NickLee.FortuneBase数据库sql server版新增页面视频演示
    NickLee.FortuneBase数据库sql server版工具篇
  • 原文地址:https://www.cnblogs.com/niansi/p/7823640.html
Copyright © 2020-2023  润新知