文件操作
编码:读写编码保持一致,一般为UTF-8
打开文件:open(name,mode,encoding)
name:要打开目标文件名的字符串(可以包含文件所在得具体路径)
mode:设置打开文件得(访问模式):只读、写入、追加等
encoding:编码格式
f = open('python.txt','r',encoding = 'UTF-8')
文件对象常用方法:
文件对象.read(num) #num表示读取的长度(字节),没有num,就是读取所有;多个read后面的会在上一次读到得下一个开始读取
文件对象.readlines() #按照行的方式读取整个文件,返回的时一个列表,每一行数据为一个元素
文件对象.readline() #一次读一行
直接拿通过for循环读取文件 for line in f: #直接遍历f就行了,返回的是每一行得数据
文件对象.close() 关闭文件对象 #内置了flush功能
with open("文件对象",'r') as f:
f.readlines()
这个方法可以自动close不用手动close
文件对象.write(xxxxxx"") 文件写入,不存在会直接创建,存在会把文件清空
文件对象.flush() 内容刷新 直接调用write,内容只是写入了内存中,用flush才是正正写入硬盘中
文件追加模式:将前面 r、w 改成a即可
a模式,文件不存在会创建文件,存在会在后面追加写入。
异常
捕获异常得作用:提前假设某处会出现异常,做好提前准备,当真的出现异常得时候,可以有后续手段
基本语法:
try: 可能发生错误的代码 except: 如果出现异常执行得代码
捕获指定异常语法:
try: ...todo... except NameError as e: ...todo...
捕获多个异常语法:
try: ...todo... except(NameError,ZeroDivisionError,...) as e: ...todo... #这里的 as 是取别名
捕获全部异常语法:
try: ...todo... except Exception as e: ...todo... # 和前面的直接写一个except捕获效果一样
异常else,finally
try: ...todo... except: ...todo... else: ...todo... #不发生异常就执行 finally: ...todo... #无论发不发生异常都要执行
异常是具有传递性的,依次往外抛
模块
Python模块(module),是一个Python文件,以 py结尾。模块能定义函数,类和变量,模块里也可能包含可执行代码。
语法:
注意:当导入多个模块的时候,且模块内有同名功能,调用这个功能用的是后导入的模块的
当被导入的模块中有直接执行的方法时,导入的时候就会运行,不想它运行的话,
将执行方法放入if __name__ == __main__
即可。
__all__
变量
Python包
本质还是模块
安装第三方包: