Python中module、package和lib

Python中module、package和lib

1. Python中module、package和lib
  1. python模块是:自我包含并且有组织的代码片段为模块。表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。modules由函数组成(类将数据和操作进行封装,以便将来的复用)
  2. 是一个包含init.py 文件的目录,该目录下一定得有这个init.py文件和其它模块或子包。
  3. python库是参考其它编程语言的说法,就是指python中的完成一定功能的代码集合,供用户使用的代码组合。库是抽象概念,在python中是包和模块的形式。
  4. Django,flask这些是框架。框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题。
    一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。

  1. 模块属性name,它的值由Python解释器设定。如果脚本文件是作为主程序调用,其值就设为main,如果是作为模块被其他文件导入,它的值就是其文件名。
  2. 每个模块都有自己的私有符号表,所有定义在模块里面的函数把它当做全局符号表使用
  3. 模块可以导入其他的模块。通常将import语句放在模块的开头,被导入的模块名字放在导入它的模块的符号表中。
  4. from module import names 可以直接从模块中导入名字到符号表,但模块名字不会被导入。
  5. from module import * 可以把模块中的所有名字全部导入,除了那些以下划线开头的名字符号。不建议使用,不清楚导入了什么符号,有可能覆盖自己定义的东西
  6. 内建函数dir()可以查看模块定义了什么名字(包括变量名,模块名,函数名等):dir(模块名),没有参数时返回所有当前定义的名字
2. 模块搜索路径
>>>import sys
>>>sys.path#查看搜索路径
['','/usr/local/lib/python35.zip','/usr/local/lib/python3.5']
注意: '' 表示当前目录(当前脚本所在的路径)

1. 程序的根目录(自动)
这个根目录的入口依赖于你怎么运行代码;当你运行一个程序时,这个入口就是程序运行入口(top-level script file)文件所在的目录;当你用交互式窗口运行代码时,这个入口就是你所在的工作目录。
2.PYTHONPATH环境变量设置的目录(可配置)
这个搜索在标准库之前,所以要小心不要覆盖一些标准库的同名模块。
3. 标准库的目录——内置的built-in模块(自动)
4.任何能够找到的.pth文件的内容(可配置)
允许用户以每行一个的方式列出搜索路径,它和PYTHONPATH环境变量的不同是会在标准库路径之后搜索;而且它是针对这个python安装的,而不是针对用户的(环境变量会随着用户的不同而不同)。 那么,.pth文件应该放在哪里呢?可以通过以下代码找到.pth文件可以放置的位置:

>>>import site 
>>>site.getsitepackages() 
['C:\\Python27', 'C:\\Python27\\lib\\site-packages']

5. 第三方扩展的site-package目录(自动)
python会在搜索路径上自动加上site-packages目录,这一般是第三方扩展安装的地方,一般是由distutils工具发布的。

3. 添加模块搜索路径(linux系统-win中类似)
>>>import os
>>>os.getcwd() # 获取当前目录 
>>>import hello.py 
...
ImportError: No module named 'hello'

1.动态增加路径:临时生效,防止次要模块的路径污染 PYTHONPATH

>>> import sys 
>>> sys.path.append('/home/wang/workspace') 
>>> sys.path #查看搜索路径 ['', '/home/wang/workspace']
>>> import hello Hello

2.修改 PYTHONPATH 变量:永久生效、这将改变所有 Python 应用的搜索路径,因为启动 Python 时,它会读取这个变量
- 打开并编辑 bashrc(该文件保存了个性化设置):
$ vim ~/.bashrc
- 将以下内容附加到文件末尾:
export PYTHONPATH=$PYTHONPATH:/home/wang/workspace
- 退出并重新启动以重新加载 shell,或者在命令行重新加载配置文件:
$ source ~/.bashrc #或者 . ~/.bashrc
3.增加 .pth 文件 :永久生效、最简单的、也是推荐的方式。Python 在遍历已知的库文件目录过程中,如果遇到 .pth 文件,便会将其中的路径加入到 sys.path 中,于是 .pth 中所指定的路径就可以被 Python 运行环境找到在/usr/local/lib/python3.5/site-packages下添加一个扩展名为 .pth 的配置文件(例如:extras.pth),内容为要添加的路径

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值