• 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
    >>> 
  • 相关阅读:
    poj3718 Facer's Chocolate Dream
    codeforces 917D Stranger Trees
    uoj#349 【WC2018】即时战略
    bzoj5153 [Wc2018]州区划分
    bzoj5152 [Wc2018]通道
    loj2001[SDOI2017]树点染色
    loj2000[SDOI2017]数字表格
    Atcoder arc092
    bzoj4826[hnoi2017]影魔
    bzoj4827 [hnoi2017]礼物
  • 原文地址:https://www.cnblogs.com/paomaliuju/p/5167434.html
Copyright © 2020-2023  润新知