zoukankan      html  css  js  c++  java
  • python的搜索路径与包(package)

    python的搜索路径其实是一个列表,它是指导入模块时,python会自动去找搜索这个列表当中的路径,如果路径中存在要导入的模块文件则导入成功,否则导入失败:

    >>> import sys
    >>> sys.path
    ['', 'C:\Python33\Lib\idlelib', 'C:\Windows\system32\python33.zip', 'C:\Python33\DLLs', 'C:\Python33\lib', 'C:\Python33', 'C:\Python33\lib\site-packages']
    >>> import TemperatureConversion
    Traceback (most recent call last):
      File "<pyshell#24>", line 1, in <module>
        import TemperatureConversion
    ImportError: No module named 'TemperatureConversion'
    >>> sys.path.append('E:\python')
    >>> sys.path
    ['', 'C:\Python33\Lib\idlelib', 'C:\Windows\system32\python33.zip', 'C:\Python33\DLLs', 'C:\Python33\lib', 'C:\Python33', 'C:\Python33\lib\site-packages', 'E:\python']
    >>> import TemperatureConversion
    >>> TemperatureConversion.c2f(0)
    32.0
    >>> 

    注意:上述的TemperatureConversion模块在本地磁盘的E:python文件夹下,该模块有c2f()与f2c()两个函数。

    python的包是为了更好地组织代码模块,说白了包其实就是用一个文件夹把相关的模块都放在这个文件夹下。包的创建需要满足以下3个步骤:
    1.创建一个文件夹,用于存放相关的模块,文件夹的名字即包的名字;
    2.在文件夹中创建一个__init__.py的模块文件,文件内容可以为空;
    3.强相关的模块放入文件夹中。

    那么,被放到包中的模块该如何导入呢?其实是很简单的,即“import 包名.模块名 as 别名”就可以了。假设我们将上述的TemperatureConversion模块放到一个名叫testpackage的包中,要导入该模块的话,只需要执行“import testpackage.TemperatureConversion as tc”即可。

    >>> import testpackage.TemperatureConversion as tc
    >>> tc.c2f(0)
    32.0
    >>> 
  • 相关阅读:
    硬件04:反馈与触发器
    硬件03:二进制减法器
    硬件02:二进制加法器
    ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
    微信全局获取并缓存Accesstoken的值
    MySQL 中文显示乱码
    HTML5 Canvas绘图详解 drawImage() 方法 有图有真相!
    [原创]超强C#图片上传,加水印,自动生成缩略图源代码
    微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题 .
    2015-10-19深圳面试
  • 原文地址:https://www.cnblogs.com/paomaliuju/p/5167434.html
Copyright © 2011-2022 走看看