Python 模块相关

一、什么是模块、包

按照逻辑有组织的Python代码片段称为模块(module),对应单个文件,test.py就是一个模块,test为模块名字。

包(package)是一个有层次的文件目录结构,对应一个目录,该目录下含有__init__.py 文件和其他模块。

二、关于引入import

在安装python时,自带标准库中的所有模块都被加入到了sys.path 里面了,用下面方法可以看到模块所在位置:

>>>import sys
>>>import pprint
>>>pprint.pprint(sys.path)

['',
 'C:\\Windows\\system32\\python27.zip',
 'C:\\Python27\\DLLs',
 'C:\\Python27\\lib',
 'C:\\Python27\\lib\\plat-win',
 'C:\\Python27\\lib\\lib-tk',
 'C:\\Python27',
 'C:\\Python27\\lib\\site-packages',
 'C:\\Python27\\lib\\site-packages\\PIL']

凡在上面列表所包括位置内的 .py 文件都可以作为模块引入。可以将自己编写的test.py放到这些目录下面,这样就能够直接import引入,被Python解释器知道了。

将模块文件放到指定位置是一种不错的方法,但不方便管理,能不能放到别处呢?当然能,sys.path.append(new_path)或sys.path.insert(0,new_path)就是不管把文件放哪里,都可以把其位置告诉 Python 解释器。

#!/usr/bin/env Python
# coding=utf-8
lang = "python"

编写以上文件命名为test.py。

sys.path.append(new_path)方式告诉Python解释器。

>>> import sys
>>> sys.path.append("~/文档/test.py")
>>> import test
>>> test.lang
'python'

在import test后该目录下生成test.pyc文件,解释器的作用就是将.py 的文件转化为 .pyc文件,而.pyc 文件是由字节码(bytecode)构成的,然后计算机执行 .pyc 文件。

有了 .pyc 文件后,每次运行就不需要重新让解释器来编译 .py 文件了,除非 .py 文件修改了。这样,Python 运行的就是那个编译好了的 .pyc 文件。

如何确定是被当做程序执行还是被当做模块引入?将 test.py 文件进行改造。

#!/usr/bin/env Python
# coding=utf-8
def lang():
    return "Python"
if __name__ == "__main__":
    prin
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值