python Module使用

简介: 【10月更文挑战第14天】 python Module使用
一. Modules的路径
1.modules的搜索路径

sys.path 获取当前脚本的环境变量列表site-packages中的.pth文件代表路径文件通过setuptools(pkg_resourses)工具安装后,在site-packages下生成对应的.egg文件,在文件中查找entry_points.txt中的main函数

  1. 别名:

导入模块时,还可以使用别名,这样,可以在运行时根据当前环境选择最合适的模块。比如Python标准库一般会提供StringIO和cStringIO两个库,这两个库的接口和功能是一样的,但是cStringIO是C写的,速度更快,所以,你会经常看到这样的写法:

try:
    import cStringIO as StringIO
except ImportError: #导入失败会捕获到ImportError
    import StringIO

这样就可以优先导入cStringIO。如果有些平台不提供cStringIO,还可以降级使用StringIO。导入cStringIO时,用import ... as ...指定了别名StringIO,因此,后续代码引用StringIO即可正常工作

二. Modules的导入

  1. modules必须包含init.py文件,导入模块可以使用 import 或者 from ..... import ...
#!/usr/bin/env python
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

import sys

def test():
    args = sys.argv
    if len(args)==1:
        print 'Hello, world!'
    elif len(args)==2:
        print 'Hello, %s!' % args[1]
    else:
        print 'Too many arguments!'

if __name__=='__main__':
    test()
  1. __init__.py在modules的init文件import方法,相当于全局变量,会存在在整个modules中,注意:在init中使用from A import f1, 相当于import了A模块。

三. 安装modules

pip install modules_name

下载模块的路径 https://pypi.python.org/simple

相关文章
|
25天前
|
Python Windows
Python:执行py命令,提示: Can‘t find a default Python.
Python:执行py命令,提示: Can‘t find a default Python.
|
2月前
|
存储 Python
Python中的null是什么?
Python中的null是什么?
|
11月前
|
Python
Python报错: No module named 'lxml'
Python报错: No module named 'lxml'
278 1
|
Python
Python:ImportError: No module named
问题: 早PyCharm中调试项目,从项目的根目录引入其他模块,可以正常调试,
72 0
|
Linux Python
Python3报错ImportError: No module named pysqlite2
Python3报错ImportError: No module named pysqlite2
124 0
Python 编程 | 连载 19 - Package 和 Module
Python 编程 | 连载 19 - Package 和 Module
Python 编程 | 连载 19 - Package 和 Module
|
Python
python3中报错No module named 'numpy'
python3中报错No module named 'numpy'
313 0
|
Python
python 操作ES
python 操作ES
240 0
|
Python
Python基础:如果你的python中缺少了module 怎么办?
如果你的python中缺少了module 怎么办?
1284 0
|
C# Python
python与C#的互相调用(No module named XX)
python与C#的互相调用(No module named XX)
python与C#的互相调用(No module named XX)

相关实验场景

更多