模块与包
模块是 一个保存了Python代码的文件,其中可以包含变量、函教、或类的定义,也可以包含其他各种python语句,使用模块有以下3方面的优势。
1.模块提高了代码的可维护性。在程序开发过程中,随着程序功能的增多,在一个文件中的代码会越来越长,从而造成程序不易维护,此时可以把相关功能的代码分配到一个模块里,从而使代码更易懂,更易维护。
2.模块提高了代确的可重用性。在应用程序开发中,经常需要处理时间,此时不必在每个程序中写入时间的处理函数只需导人time模块即可
3. 模块避免了函数名和变量名冲突。由于相同名字的函教和变量可以分别存在于不同模块中, 在编写模块时,不必考虑名字会与其他模快冲突
在python中,模块可以分为3类,具体如下:
内置标准模块(标准库)——python自带的模块,如sys、os等。
自定义模块——用户为了实现某个功能自己编写的模块。
第三方模块——其他人已经编写好的模块。
模块需要先导入,然后才能使用其中的变量或函数 ,在python中使用关键字import导入某个模块,其语法格式如下:
from 模块名 import 导入对象名
from 模块名 import 导入对象名 as 别名
from 模块名 import *
注意使用from导入的对象可以直接使用,不需要使用模块名作为限定符,例:
from math import sqrt as st
print(st(7))
import与from导入模块各有特点,使用import导入模块时比较简单,使用from导入模块时需列出想要导入的对象名,但无论哪种导入方式,模块只能一次导入,另外,注意模块整体导入的开销是比较大的。
文件
通过程序操作文件与手动操作文件类似,通常需要经过3个步骤:打开文件、读或写数据、关闭文件。
打开文件
对文件所有的操作都是在打开文件之后进行的,打开文件使用open()函数来实现,其语法格式如下:
该函数返回一个文件对象,通过它可以对文件进行各种操作,参数列表中参数的说明如表所示:
例如打开文件名为test.txt文件,具体示例如下:
读写二进制文件
文本文件使用字符序列来存储数据,而二进制文件使用字节序列存储数据,它只能被特定的读取器读取。Python中pickle模块可以将数据序列化。
序列化是指将对象转化成一系列字节存储到文件中,而反序列化是指程序从文件中读取信息并用来重构上一次保存的对象。
定位读写位置
文件指针是指向一个文件的指针变量,用于标识当前读写文件的位置,通过文件指针就可对它所指的文件进行各种操作。
复制文件
在日常生活中,经常需要将文件从一个路径下复制到另一个路径下。在Python中,shutil模块的**copy()**函数可以实现复制文件
移动文件
在日常生活中,经常需要将文件从一个路径下移动到另一个路径下。在Python中,shutil模块的**move ()**函数可以实现移动文件
重命名文件
在Python中,os模块的rename()函数可以重命名文件
删除文件
在Python中,os模块的remove ()函数可以删除文件