一、.文件操作的函数
open("文件名(路径)" ,mode = "模式" , encoding="字符集")
注:文件路径:
(1)绝对路径{从磁盘的根目录寻找,或从互联网寻找}
(2)相对路径相对于当前程序所在的文件夹 ../代表从当前文件夹跳出
.模式
r: 读模式
其他操作:
readline() 读行 一次读一行
readlines() 多行读
w: 写模式
每当进行写模式时会先清空原有内容,如果文件不存在时则会自动创建文件
a: 追加写
如果文件不存在则创建,存在则追加到最后
b: b模式是当我们对非文本文件进行操作时只能用b模式,b表示以字节的操作
{rb:读b模式,wb:写b模式,ab:追加b模式}
r+:可读,可写
w+:可写,可读
a+:可写,可读
r+b:以bate形式进行读写
w+b:以bate形式进行写读
a+b:以bate形式进行写读
3.其他常见的操作
1.光标(seek)
seek(0) 开头
seek(0,1) 找到当前光变的位置
seek(0,2) 结束的位置
2.tell() 获得光标的位置
3.truncate是截断文件,所以文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,所以truncate要在r+或a或a+等模式下测试效果。
4.修改文件
1.首先要引入OS模块
2.打开目标文件
3.打开文件副本
4.在目标文件中读取内容进行修改写入到副本中
5.删除源文件
6.重命名副本
习题练习:
代码如下:
1 new = [] 2 sum = 0 3 with open("a.txt",mode="r",encoding="utf-8")as i: 4 for line in i: 5 li = line.strip().split() 6 dic = {"name":li[0],"price":int(li[1]),"amount":int(li[2])} 7 new.append(dic) 8 sum = sum + int(dic["price"]) 9 print(sum) 10 print(new)
运行截图: