Python 模块进阶

import导入模块

1. import 搜索路径

import sys
sys.path

例子:

In [1]: import sys

In [2]: sys.path
Out[2]: 
['',
 'E:\\Python\\Scripts\\ipython.exe',
 'e:\\python\\python36.zip',
 'e:\\python\\DLLs',
 'e:\\python\\lib',
 'e:\\python',
 'e:\\python\\lib\\site-packages',
 'e:\\python\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\ylg\\.ipython']
路径搜索
  • 从上面列出的目录里依次查找要导入的模块文件
  • ' ' 表示当前路径
程序执行时导入模块路径
sys.path.append('C:\\Users\\ylg')
sys.path.insert(0, 'C:\\Users\\ylg')    #可以确保先搜索这个路径
sys.path.remove('C:\\Users\\ylg')   # 移除路径

例子:

In [3]: sys.path.append('C:\\Users\\ylg')

In [4]: sys.path
Out[4]: 
['',
 'E:\\Python\\Scripts\\ipython.exe',
 'e:\\python\\python36.zip',
 'e:\\python\\DLLs',
 'e:\\python\\lib',
 'e:\\python',
 'e:\\python\\lib\\site-packages',
 'e:\\python\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\ylg\\.ipython',
 'C:\\Users\\ylg']

In [5]: sys.path.remove('C:\\Users\\ylg')

In [6]: sys.path
Out[6]: 
['',
 'E:\\Python\\Scripts\\ipython.exe',
 'e:\\python\\python36.zip',
 'e:\\python\\DLLs',
 'e:\\python\\lib',
 'e:\\python',
 'e:\\python\\lib\\site-packages',
 'e:\\python\\lib\\site-packages\\IPython\\extensions',
 'C:\\Users\\ylg\\.ipython']

2. 重新导入模块

模块被导入后,修改代码后import module不能重新导入模块,重新导入需用使用其他方法。

  • 方法一:重新启动 python shell
  • 方法二:使用reload()模块
    • 在python 2.x中,reload()是内置函数
    • 在python 3.0-3.3中,可以使用imp.reload(module)
    • 在python 3.4中,imp已经废弃,取而代之是importlib

​ 例子:

>>> import importlib
>>> import hello
HeLLO
>>> importlib.reload(hello)
Hello!

常用模块库

​ Python有一套很有用的标准库(standard library)。标准库会随着Python解释器,一起安装在你的电脑中的。 它是Python的一个组成部分。这些标准库是Python为你准备好的利器,可以让编程事半功倍。

常用标准库

标准库 说明
builtins 内建函数默认加载
os 操作系统接口
sys Python自身的运行环境
functools 常用的工具
json 编码和解码 JSON 对象
logging 记录日志,调试
multiprocessing 多进程
threading 多线程
copy 拷贝
time 时间
datetime 日期和时间
calendar 日历
hashlib 加密算法
random 生成随机数
re 字符串正则匹配
socket 标准的 BSD Sockets API
shutil 文件和目录管理
glob 基于文件通配符搜索

hashlib

import hashlib
m = hashlib.md5()   #创建hash对象,md5:(message-Digest Algorithm 5)消息摘要算法,得出一个128位的密文
print m             #<md5 HASH object>
m.update('itcast')  #更新哈希对象以字符串参数
print m.hexdigest() #返回十六进制数字字符串

应用实例

用于注册、登录....

import hashlib
import datetime
KEY_VALUE = 'Itcast'
now = datetime.datetime.now()
m = hashlib.md5()
str = '%s%s' % (KEY_VALUE,now.strftime("%Y%m%d"))
m.update(str.encode('utf-8'))
value = m.hexdigest()
print(value)

运行结果:

8ad2d682e3529dac50e586fee8dc05c0

更多标准库

http://python.usyiyi.cn/translate/python_352/library/index.html

常用扩展库

扩展库 说明
requests 使用的是 urllib3,继承了urllib2的所有特性
urllib 基于http的高层库
scrapy 爬虫
beautifulsoup4 HTML/XML的解析器
celery 分布式任务调度模块
redis 缓存
Pillow(PIL) 图像处理
xlsxwriter 仅写excle功能,支持xlsx
xlwt 仅写excle功能,支持xls ,2013或更早版office
xlrd 仅读excle功能
elasticsearch 全文搜索引擎
pymysql 数据库连接库
mongoengine/pymongo mongodbpython接口
matplotlib 画图
numpy/scipy 科学计算
django/tornado/flask web框架
xmltodict xml 转 dict
SimpleHTTPServer 简单地HTTP Server,不使用Web框架
gevent 基于协程的Python网络库
fabric 系统管理
pandas 数据处理库
scikit-learn 机器学习库

库的安装

​ 使用pip工具就可以安装,pip是自带的。

在命令窗口输入pip就可看到许多关于pip的命令。

安装命令是:pip install 扩展库名

C:\Users\ylg>pip

Usage:
  pip <command> [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  search                      Search PyPI for packages.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  --isolated                  Run pip in an isolated mode, ignoring
                              environment variables and user configuration.
  -v, --verbose               Give more output. Option is additive, and can be
                              used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output. Option is additive, and can be
                              used up to 3 times (corresponding to WARNING,
                              ERROR, and CRITICAL logging levels).
  --log <path>                Path to a verbose appending log.
  --proxy <proxy>             Specify a proxy in the form
                              [user:passwd@]proxy.server:port.
  --retries <retries>         Maximum number of retries each connection should
                              attempt (default 5 times).
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists:
                              (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
  --trusted-host <hostname>   Mark this host as trusted, even though it does
                              not have valid or any HTTPS.
  --cert <path>               Path to alternate CA bundle.
  --client-cert <path>        Path to SSL client certificate, a single file
                              containing the private key and the certificate
                              in PEM format.
  --cache-dir <dir>           Store the cache data in <dir>.
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine
                              whether a new version of pip is available for
                              download. Implied with --no-index.
posted @ 2017-12-31 19:15  杨洛平  阅读(216)  评论(0)    收藏  举报