1.文件操作的6中模式:
# r模式: 表示以字符串的方式读取文件中的数据
# w模式: 表示以字符串的方式往文件中写入数据
# a模式: 表示以字符串的方式往文件中追加写入数据
# rb模式: 表示以字节(二进制)的方法读取文件中的数据, 1byte = 8bit 1bit 保存 0或者1 中的一个数剧
# wb模式: 表示以字节(二进制)的方式往文件中写入数据
# ab模式: 表示以字节(二进制)的方式往文件中追加写入数据
2.文件操作的步骤:
1.打开文件,指定文件的操作模式
2.读取或者写入数据
3.关闭文件
3.文件操作的其他方式:
read()默认一次性读取文件中所有数据
read(数据长度):
1. 如果文件的操作模式是r模式, 这里的数据长度是字符串的数据长度
2. 如果文件的操作模式是rb模式,这里的数据长度是字节的数据长度
3. 指定了数据长度表示每次最大读取指定数据长度的数据
4.文件拷贝:
1. 根据原文件的名字生成目标文件的名字, 使用rpartition 把数据分割成三部分,然后再拼接字符串即可
2. 打开目标文件, 使用wb,原因兼容图片或者视频或者文本文件
3. 打开源文件, 使用rb
4. 读取源文件中的数据
5. 把读取到的源文件数据写入到目标文件
6. 关闭文件
5.大文件的拷贝 ***
1.提示:如果文件特别大,使用read方法,一次性把文件中的所有数据加载到内存中,可能会出现内存溢出的风险。
2.解决办法: 每次读取一小部分数据,循环读取,读取一点数据把数据写入到文件。
6.文件的文件夹的相关操作:
os.rename 表示对文件进行重命名 *****
os.remove 表示删除文件
os.mkdir 表示创建文件夹 ****
os.listdir 表示获取指定文件夹文件名列表 *****
os.getcwd 表示获取当前操作文件夹的路径,默认是当前工程路径 *****
os.chird 表示切换到指定目录 ******
os.rmdir 表示删除空白目录(空的文件夹)
扩展:
shutil.rmtree 表示删除非空文件夹
os.path.exists 表示判断文件或者文件夹是否存在 *****
os.path.isfile 表示判断是否是一个文件
os.path.isdir 表示判断是否是文件夹
os.path.splitext 表示获取文件的文件名和后缀 ****
os.path.abspath 表示获取指定文件的完整路径
os.path.basename 表示获取路径中的文件名
os.path.dirname 表示回去路径中的文件夹部分的数据
文件操作相关总结
原文:https://www.cnblogs.com/gongqidebokeyuan/p/12664388.html