知识点
- 文件操作。IO技术。数据库也是基于文件形式储存的。
- 文本文件,用来存储字符的文件,默认为unicode字符集,可以用记事本打开的文件。
- 二进制文件,无法用记事本打开的文件。
- 创建文件对象,open(),记得要关闭对象,f.close()(可以结合异常机制来强制执行)。
- 如果没有增加模式’b’,则默认创建文本文件对象,处理的基本单元是‘字符’。如果是二进制模式’b’,则创建二进制文件,处理的基本单元是‘字节’。
- 常用编码。
- windows默认编码GBK, linux默认编码UTF-8。
- f = open()时,f.write()会先将数据调入缓冲区,f.close()首先会把缓冲区内的数据写入文件(也可以直接调用flush()),然后关闭文件,释放文件对象。
- with方法可以自动管理上下文资源,能确保文件正确的关闭,并且可以在代码块执行完毕后自动还原。
- 二进制文件的读写。wb可写的,重写模式的二进制文件对象。ab可以的,追加模式的二进制文件对象。rb可读的二进制文件对象。
- 序列化指的是将对象转化成“串形化”数据形式,反序列化相反,将“串形化”数据转化为对象。
- pickle.dump(obj,file) 序列化
- pickle.load(file) 反序列化
- os模块。
- os.system(‘notepad.exe’), os.system(‘Ping www.baidu.com’), os.system(‘cmd’)。
- 直接调用可执行文件。 os.startfile(’…/wechat.exe’)
os.path模块。
os.walk()方法。
返回一个3个元素的元组(dirpath, dirnames, filenames) - dirpath: 要列出制定目录的路径
- dirnames: 目录下所有的文件夹
- filenames: 目录下所有的文件
- Ctrl+函数名可以查看函数源代码。
- shutil模块作为补充,提供了移动、复制、压缩、解压等操作。
- 压缩 shutil.make_archive 或者
z1 = zipfile.ZipFile('a.zip','w')
z1.write('1.txt')
z1.write('copy.txt')
z1.close()
z2 = zipfile.ZipFilee('a.zip','r')
z2.extractall('电影')
- 递归打印所有的目录和文件:
import os
def getAllfiles(path,level):
childfiles = os.listdir(path)
for f in childfiles:
filepath = os.path.join(path,f)
if os.isdir(filepath):
getAllfiles(filepath,level+1)
print('t'*level+filepath)
拜师教育学员文章:作者:1265-张同学,
转载或复制请以 超链接形式 并注明出处 拜师资源博客。
原文地址:《Python HW10》 发布于2020-08-30
评论 抢沙发