072-100
1、模块:
每一个以扩张名.py结尾的Python源代码文件都是一个模块,模块名同样也是一个标识符,需要符合标识符的命名规则,在模块中定义的全局变量、函数、类都是提供给外借直接使用的工具。模块就好比工具包,需要使用这个工具包中的工具,就需要先导入这个模块。
import 模块名1
import 模块名2
导入之后,通过模块名. 使用模块提供的工具——全局变量、函数、类。
使用as指定模块的别名
如果模块的名字太长,可以使用as指定模块的名称,以方便在后续的代码中使用。
import 模块名1 as 模块别名
注意:模块别名 应符合 大驼峰命名法
from…import导入
如果希望从某一个模块中,导入部分工具,就可以使用from…import 的方式,语法如下
from 模块名1 import 工具名
这种方式导入之后,不需要通过模块名. 的方式,可以直接使用模块的工具——全局变量、函数、类。如果两个模块存在相同的函数,那么后导入模块的函数,会覆盖掉先导入的函数。
注意:
1)开发时import代码应该统一写在代码的顶部,更容易及时发现冲突
2)一旦发现冲突,可以使用as关键字给其中一个工具起一个别名
Python的解释器导入模块时,会:
1)搜索 当前目录 是否有指定的模块名,如果有就直接导入
2)如果没有,再搜索系统目录
所以在开发时,给文件起名,不要和 系统的模块文件重名
Python中每一个模块都有一个内置属性__file__可以查看模块的 完整路径。
__name__属性,可以使测试模块的代码只在测试情况下被运行,而在被导入时不会被执行。
1)__name__是python的一个内置属性,记录着一个字符串
2)如果是被其他文件导入的,__name__就是模块名
3)如果是当前执行的程序,__name__就是__main__名字。
def main():
pass
if name == “main”:
main()
2、包
包是一个包含多个模块的 特殊目录,目录下有一个特殊文件 init.py,包名的命名方式和变量名一致,小写字母+_。使用import 包名 可以一次性导入包中所有的模块。
要在外界中使用包中的模块,需要在__init__.py中指定 对外界提供的模块列表。语法如下:
from . import 模块名
发布模块(将自己开发的模块分享给他人)制作发布压缩包步骤:
1)创建 setup.py(文件的语句格式非常固定)
from distutils.core import setup
setup(name = “包名”, version = “版本号”, description = “模块描述信息”, long_description = “模块完整的描述信息”, author = “作者名”, author_email = “作者邮箱”, url = “主页网址”, py_modules = [“包名.模块名1”, “包名.模块名2”])
2)构建模块
python3 setup.py build
3)生成发布压缩包
python3 setup.py sdist
安装别人分享的模块步骤:
1)tar -zxvf wenjianming.tar.gz
2)sudo python3 setup.py install
卸载模块:直接从安装目录下,把安装模块的目录删除就可以
不知道安装的目录,可以通过 包名. __file__在终端窗口中查找该包的安装目录,然后cd 包目录,sudo rm -r 包名*,即可删除该模块。
pip 安装第三方模块
第三方模块 通常是指由知名的第三方团队开发的 并且 被程序员广泛使用的python包/模块。
例如:pygame就是一套非常成熟的游戏开发模块
pip 是一个现代的、通用的python包管理工具,提供了对python包的查找、下载、安装、卸载等功能。
安装和卸载的命令如下:
将模块安装到python2.x环境
sudo pip install pygame
sudo pip uninstall pygame
将模块安装到python3.x环境
sudo pip3 install pygame
sudo pip3 uninstall pygame
3、文件
操作文件的套路:
1)打开文件
2)读、写文件
3)关闭文件
操作文件的函数/方法
1)open 打开文件,并且返回文件操作对象
2)read,将文件内容读取到内存
3)write,将指定内容写入文件
4)close,关闭文件
read/write/close三个方法都需要通过文件对象来调用。
open函数的第一个参数是要打开的文件名(文件名区分大小写),如果文件存在,返回文件的操作对象,如果文件不存在,就会抛出异常。
read方法可以一次性读入 并返回 文件的所有内容
close 方法负责关闭文件
步骤如下:
1)file=open(“readme”),打开文件
2)text=file.read()
print(text),读取文件
3)file.close(),关闭文件
打开文件的方式
open 函数默认以只读方式打开文件,并且返回文件对象,语法如下:
f=open(“文件名”,“访问方式”)
readline方法可以按行读取内容,方法执行后,会把文件指针移动到下一行,准备再次读取。
读取大文件的正确姿势
file=open(“readme”),打开文件
while True:
text=file.readline()
if not text:
break
print(text),读取文件
file.close(),关闭文件
小文件复制步骤
1)打开文件
file_read=open(“readme”)
file_write=open(“readme[复件]”,“w”)
2)读取、写入文件
text=file_read.read()
file_write.write(text)
3)关闭文件
file_read.close()
file_write.close()
文件/目录的常用管理操作
在Python中,可以通过导入os模块,来实现在终端/文件浏览器中执行常规的文件/目录的管理操作。
文本文件的编码格式
python2.x默认使用ASCII编码
python3.x默认使用UTF-8编码(UNICODE的一种,可以编译中文)
在python2.x文件的第一行增加以下代码,解释器会以UTF8编码来处理python文件