一、文件编码
编码技术就是翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回可识别的内容。
二、文件的读取
1 打开文件
使用 open()函数打开文件:
语法:
open(name, mode, encoding)
name:目标文件名(可以包含文件所在的具体路径)
mode:设置打开文件的模式(访问模式):只读、写入、追加等
encoding:编码格式(一般使用utf-8)
示例:
f = open('python.txt', 'r', encodind="utf-8")
"注意:"
"encoding的顺序不是第三位,一次要使用关键字参数指定。"
mode的常用三种基础访问模式:
r:以只读方式打开文件。文件指针将会放在文件的开头,这是默认模式。
w:打开文件用于写入。如果文件已存在则打开文件,并从头开始编辑,原有的内容将会被删除,如果文件不存在,会创建出一个新的文件。
a:打开一个文件用于追加。如果文件已存在,新的内容会被写入到已有内容之后,如果文件不存在,会创建出一个新的文件。
2 读取文件
使用 read()函数读取文件内容:
语法:
文件对象.read(num)
num 表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有数据。
使用 readlines()函数读取文件内容:
语法:
文件对象.readlines()
redalines 可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素。
使用 readline()函数读取文件内容:
语法:
文件对象.readline()
readline()方法一次读取文件中一行内容
使用 for循环方式读取文件内容:
语法:
for line in open("python.txt", "r"):
print(line)
3 关闭文件
使用 close()方法关闭文件对象:
语法:
f = open("python.txt", "r")
f.close()
with open()方法:
语法:
with open("python.txt", "r") as f:
f.readlines()
含义:
通过with open方法对文件进行操作,可以在操作完后自动关闭文件,避免遗忘掉close()方法。
三、文件的写入
1 打开文件
以写的形式代开文件:
f = open('python.txt', 'w')
2 文件写入
通过write()方法写入:
f.write("hello world")
3 内容刷新
通过flush()方法刷新:
f.flush()
"在调用完write()方法写入内容后,实际并没有将内容真正的写入到文件中,而是会保存在程序的内存中,
即缓存区中,只有通过flush()方法进行刷新后,内容才真正写入进文件。"
四、异常的捕获方法
1 捕获常规异常
基本语法:
try:
可能发生错误的代码
except:
如果出现异常执行的代码
2 捕获指定异常
示例:
try:
print(name)
except NameError as e:
print('name变量名称未定义错误')
3 捕获多个异常
示例:
try:
1/0
print(name)
except (NameError, ZeroDivisionError) as e:
print('name变量名称未定义错误 或 0为除数错误')
4 捕获所有异常
示例:
try:
1/0
print(name)
...
except Exception as e:
print('出现异常')
5 异常else
else表示的是如果没有异常时要执行的代码。
示例:
try:
print(1)
except Exception as e:
print(e)
else:
print("没有异常,执行此处")
6 异常finally
finally表示的是无论是否异常都要执行的代码。
示例:
try:
f = open("python.txt", "r")
except Exception as e:
f = open("python.txt", "w")
else:
print("没有异常")
finally:
f.close()
print("有没有异常都要执行该部分")
五、异常的传递
异常具有传递性: