文章目录
2018-12-3 17:19:23
2.5-2.6 模块使用
模块
- 模块让你能够有逻辑地组织你的Python代码段。
- 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂。
- 模块也是Python对象,具有随机的名字属性用来绑定或引用。
- 简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。
包
- Python的模块可以按目录组织为包
- 创建一个包的步骤如下:
创建一个名字为包名的目录
在该目录下建一个__init__.py文件
根据需要,在该目录下存放脚本文件或已经编译好的扩展及子包
import 语句
- 一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
- 引入包的方法 import module1[, module2[,… moduleN]
- 查看python模块的存放路径 rpm -ql python-libs
- 修改自定义模块路径可以修改PYTHONPATH环境变量,
或者sys.path.append(‘/root/libpsth’)
举例
- 简单统计字符串
#定义函数 wc.py
def wordCount(s):
chars = len(s)
words = len(s.split())
lines = s.count('/n')
print lines,words,chars
print __name__
#模块本身就会打印__main__,模块被调用会打印调用的模块名
if __name__ == '__main__':
s = open('etc/passwd').read()
wordCount(s)
-----------------------------------------
#import引入模块,引入当前目录下的文件直接import模块名,如果不在当前目录下,需要指定路径
#import模块后,等于是执行了该模块内部代码
import wc
s = open('etc/passwd').read()
wc.wordCount(s)
-------------------------------------------
#引入包,需要在当前目录下创建__init__.py文件 touch
#文件的父目录就是包名
from day04 import wc
from day04.wc import wordCount
from day04.wc import wordCount as wc1
- Python的模块可以按目录组织为包
- 创建一个包的步骤如下:
创建一个名字为包名的目录
在该目录下建一个__init__.py文件
根据需要,在该目录下存放脚本文件或已经编译好的扩展及子包
import 语句
- 一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。
- 引入包的方法 import module1[, module2[,… moduleN]
- 查看python模块的存放路径 rpm -ql python-libs
- 修改自定义模块路径可以修改PYTHONPATH环境变量,
或者sys.path.append(‘/root/libpsth’)
举例
- 简单统计字符串
#定义函数 wc.py
def wordCount(s):
chars = len(s)
words = len(s.split())
lines = s.count('/n')
print lines,words,chars
print __name__
#模块本身就会打印__main__,模块被调用会打印调用的模块名
if __name__ == '__main__':
s = open('etc/passwd').read()
wordCount(s)
-----------------------------------------
#import引入模块,引入当前目录下的文件直接import模块名,如果不在当前目录下,需要指定路径
#import模块后,等于是执行了该模块内部代码
import wc
s = open('etc/passwd').read()
wc.wordCount(s)
-------------------------------------------
#引入包,需要在当前目录下创建__init__.py文件 touch
#文件的父目录就是包名
from day04 import wc
from day04.wc import wordCount
from day04.wc import wordCount as wc1
或者sys.path.append(‘/root/libpsth’)
- 简单统计字符串
#定义函数 wc.py
def wordCount(s):
chars = len(s)
words = len(s.split())
lines = s.count('/n')
print lines,words,chars
print __name__
#模块本身就会打印__main__,模块被调用会打印调用的模块名
if __name__ == '__main__':
s = open('etc/passwd').read()
wordCount(s)
-----------------------------------------
#import引入模块,引入当前目录下的文件直接import模块名,如果不在当前目录下,需要指定路径
#import模块后,等于是执行了该模块内部代码
import wc
s = open('etc/passwd').read()
wc.wordCount(s)
-------------------------------------------
#引入包,需要在当前目录下创建__init__.py文件 touch
#文件的父目录就是包名
from day04 import wc
from day04.wc import wordCount
from day04.wc import wordCount as wc1