一、模块
概述:一个模块就是一个扩展名为.py的文件,可以包含多个函数、类、语句;使用模块可以提高代码的可维护性、可重用性,避免函数名和变量名冲突,方便其他程序和脚本的导入和使用。
二、模块的自定义
创建一个新模块即是新建一个.py文件,名称尽量不要与python自带的标准模块名称相同。
模块的导入:
三、主程序方式运行
在我们自定义一个模块(a.py)然后导入到另一个模块(b.py)的时候,我们运行b的时候很有可能先会执行a模块的代码,导致结果不是我们想要的;解决这个问题就需要引入主程序方式的运行。
在每个模块的定义中都包括一个记录模块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,它可能在解释器的顶级模块中执行。顶级模块中的__name__变量的值为__main__。
- # @Author:韩慧腾
- # @Time :2022/9/14 21:30
- # @File :Demo_main.py
- # 努力已经来不及了,你得拼命
- #该模块未被任何模块导入
- print(__name__)#__main__
- # @Author:韩慧腾
- # @Time :2022/9/14 21:30
- # @File :Demo_main.py
- # 努力已经来不及了,你得拼命
- a=100
- print(__name__)#__main__
- # @File :Demo1.py
- # 努力已经来不及了,你得拼命
- import Demo_main
- print(Demo_main.a)
在被导入到Demo1模块后,运行Demo1模块会出现以下结果

我们的预期结果是只有一个100,但实际是先把Demo_main模块执行了,而且__name__是模块名,不是__main__;因此我们可以采用主程序运行的方式解决此问题。
- # @File :Demo_main.py
- # 努力已经来不及了,你得拼命
- a=100
- if __name__ == '__main__':
- print(__name__)
- # @File :Demo1.py
- # 努力已经来不及了,你得拼命
- import Demo_main
- print(Demo_main.a)
运行Demo1后结果如下:

二、包(Python Package)
概述:包是一个分层次的目录结构,将一组功能相近的模块组织在一个目录下;使得代码规范,避免模块名称冲突
包与目录(Directory)区别:

包的导入:import 包名.模块名 (as 名字)
注:上面的名字就是包名.模块名的一个别名,应用起来更加方便
直接import和from……import导入的区别:
三、Python中常见的内置模块
四、常见的字符编码格式
Python的解释器使用的是Unicode;.py文件的磁盘上使用的是UTF-8存储。

五、文件的读写(IO操作)
- # @Author:韩慧腾
- # @Time :2022/9/16 17:14
- # @File :File_Demo00.py
- # 努力已经来不及了,你得拼命
- file=open("D:\Demo.txt",'r')#第一个参数是所要打开文件位置,第二个参数是读文件的意思
- print(file.readlines())#会返回一个列表
- file.close()#关闭资源通道
文件的类型:

- # @Author:韩慧腾
- # @Time :2022/9/16 17:40
- # @File :File_Demo01.py
- # 努力已经来不及了,你得拼命
- file=open("D:\Demo.txt",'w')#第一个参数的文件没存在的话会直接创建,存在的话会直接覆盖原来内容
- file.write('键盘敲烂,月薪过万')#会替换掉原有内容
- file=open("D:\Demo.txt",'a')#第二个参数为a的话会直接在原有内容后面追更,不会覆盖原有内容
- file.write('Python')
- file.close()
- # @Author:韩慧腾
- # @Time :2022/9/16 22:35
- # @File :File_Demo02.py
- # 努力已经来不及了,你得拼命
- #图片的复制
- file=open("D:\美图\c98cb68b34f9fe8b6989a09dddc8257.jpg",'rb')
- file1=open("D:\美图\美女.jpg",'wb')
- file1.write(file.read())
- file.close()
- file1.close()
文件对象的常用方法:

- # @Author:韩慧腾
- # @Time :2022/9/17 15:21
- # @File :File_Demo03.py
- # 努力已经来不及了,你得拼命
- #文件对象常用方法
- file=open("D:\Demo.txt",'r')
- print(file.read())#读取文件内容
- print(file.readline())#读取文件一行内容
- '''
- 上面的readline是继read方法读取内容之后继续读取,而不是重新读取该文件
- '''
- print(file.readlines())#返回一个列表,按行读取所有内容
- # @Author:韩慧腾
- # @Time :2022/9/17 16:37
- # @File :File_Demo04.py
- # 努力已经来不及了,你得拼命
- file=open("D:\Demo1.txt",'a')
- file.write('网络安全为人民,网络安全靠人民')
- lst=['PHP','HTML','CSS']
- file.writelines(lst)#会把列表中的内容追加到文件中去
- '''
- 网络安全为人民,网络安全靠人民网络安全为人民,网络安全靠人民PHPHTMLCSS
- '''
- file.close()
with语句:with语句可以自动管理上下文资源,不论什么原因跳出with块,都能确保文件正确的关闭,以此来达到释放资源的目的,不需要手动关闭资源。
