文件处理概述
Python内置了open方法,用于打开文件。我们要操作文件,一般是先打开文件,然后对内容进行处理,最后再关闭文件。简单的示例代码如下:
文件处理模式open方法有一个参数是mode,则个参数控制打开文件的模式。这个mode主要支持的参数如下:
r:比较常用,读取文件,默认值,如果文件不存在会报错。
w:写入文件,如果文件不存在会报错。
a:追加文件,如果文件不存在会报错。
w+:比较常用,写入文件,如果文件不存在,不会报错。
a+:比较常用,追加文件,如果文件不存在,不会报错。
文件对象方法
调用open方法以后能够得到一个文件对象,这个对象主要有以下方法:
seek:设置游标的偏移位置,比如设置seek为0,表示从头开始读文件。
read:读取所有数据。
readline:读取一行数据。
readlines:读取所有数据,按行返回,是一个可迭代对象。
write:写入数据。
writelines:写入多行数据,接收一个列表,注意不会自动添加换行符。
close:关闭文件对象,这个很重要,不执行可能会长期占用内存资源,造成内存泄露。
示例:文件对象方法的基本使用。
综合案例:基于文件的权限校验
注册功能:让用户录入用户名,密码和确认密码,校验两次密码是否一致,如果一致则注册成功,否则注册失败。如果注册成功了,将用户名和密码保存到文件users.txt中。
登录功能:让用户录入用户名和密码,却users.txt中查找是否存在该用户,如果存在,则判断密码是否正确。如果用户名存在且密码正确则提示登录成功,否则提示用户名或密码错误。
文件复制
文件复制的原理比较简单,只需要打开一个文件,读取所有内容,然后再创建一个新的文件,将读取到的内容写入到这个新的文件即可。
示例:文本文件复制。
示例:媒体文件复制。媒体文件也就是二进制文件,只需要将读取模式改为rb和wb即可,原理和代码完全一致。需要注意的是,二进制类型的文件不能指定编码,否则会报错。
领取专属 10元无门槛券
私享最新 技术干货