第10节
day one
文本文件和二进制文件##### 创建文件对象open()
f=open(r"d:\b.txt"."a")
文本文件的写入
创建文件对象,写入数据,关闭文件对象
f=open("a.tct","a")
s="添加的新内容"
f.write(s)
f.close
writelines()
无视换行符
close()关闭文件流
文本文件的读取
- read((size))
with open(r"bb","r",encoding="utf-8") as f: print(f.read(4)) //读取一个文件前4个字符
- readline()
读取一行内容作为结果返回
- readlines()
文件中,每行文本作为一个字符串,所有字符串组成的列表作为结果返回
实战
day two
二进制文件的读取和写入
f=open(r"d:\a.txt",'wb')
读取时添加"b"(binary)在指令之后
with open ("aa.gif","rb") as f:
with open ("aa.gif","wb") as w:
for line in f.readlines():
w.write(line)
print('图片拷贝完成!')
文件对象常用方法和属性总结
seek()
pickle实现序列化和反序列化
将数据变成“串行化”数据形式,方便数据在网络之间,硬盘和内存之间传输
import pickle
with open (r"d:\data.dat","wb") as f:
a1="史经纬"
a2=234
a3=[20,30,40]
pickle.dump(a1,f)
pickle.dump(a2,f)
pickle.dump(a3,f)
CSV 文件的读取写入
csv(Comma Separated Values) 是逗号分隔符文本格式
可保存为CSV文件格式(EXCEL内部)
import csv
with open ("dd.csv","r") as f:
a_csv=csv.reader(f)
print(list(a_csv))
写入相同:
os和os.path 模块
可直接对操作系统进行操作
os.path模块
实践
shutil和zipfile模块
import shutil
#压缩解压
shutil.make_archive("电影/gg","zip","movie/港台")
z1=zipfile.ZipFile("d:/a.zip","w")
z1.write("1.txt")
z1.write("1_copy.txt")
递归
求阶乘
递归练习
递归打印所有的目录和文件
import os
def getAllFiles(path,level):
childFiles = os.listdir(path)
for file in childFiles:
filepath=os.path.join(path,file)
if os.path.isdir(filepath):
getAllFiles(filepath,level+1)
print("\t"*level+filepath)