26-Python文件操作

1.文件介绍

数据存放的容器
文件的作用
	持久性的存储数据内容
文件组成
	文件名
		如果是同级目录下, 不允许同名文件存在
	扩展名
		.jpg
		.avi
		.doc
		.xls
		.html
		...
		注意
			一般不同的扩展名, 对应着不同的文件格式
			不同的文件格式, 有着不同的存储约定, 方便程序处理
	文件内容
		文本文件
			txt
			doc
			xls
			...
		二进制文件
			图片
			视频
			音乐
			...

2.文件的使用流程

	打开
		open("文件","模式")
			文件
				指定文件路径
			模式
				控制操作模式
		模式
			r
				以只读方式打开文件
					这是默认模式
				文件的指针将会放在文件的开头
				注意:
					文件不存在, 会报错
			w
				以只写方式打开文件
				文件的指针将会放在文件的开头
					所以, 写入的新内容, 会覆盖旧的内容
				注意
					文件不存在, 会自动创建一个新文件
			a
				以追加方式(只写)打开文件
				文件的指针将会放在文件结尾
					所以, 写入的内容, 会新增到文件末尾
				注意
					文件不存在, 会自动创建一个新文件
			增加b
				rb
				wb
				ab
				以二进制格式进行操作文件读写
					如果文件是二进制文件, 则选择此项
					例如
						图片
						视频
						音频
						...
			增加+
				r+
					1. r
					2. 写 和 w
				w+
				a+
				rb+
				rw+
				ra+
				代表都是以 "读写模式" 进行打开
					其他特性基本和 + 前面的模式一致
					但是关于部分操作, 有细节区别
				作业:
					自己做测试, 验证区别
	读写
		定位
			f.seek(偏移量,[0,1,2])
				0
					开头
						默认
				1
					当前位置
				2
					文件末尾
				注意
					文本文件的操作模式下(不带b)
						只能写0
					如果想要写1/2, 必须在二进制文件操作模式下(带b)
			f.tell()
				查看当前位置
		读
			f.read(字节数)
				字节数默认是文件内容长度
				下标会自动后移
			f.readline([limit])
				读取一行数据
				limit
					限制的最大字节数
			f.readlines()
				会自动的将文件按换行符进行处理
				将处理好的每一行组成一个列表返回
			for in
				可以直接遍历 f 本身
				也可以遍历行列表
			判定是否可读
				.readable()
			注意
				一般文件特别大的时候, 可以使用readline方法
					按行加载, 可节省内存
					但相比于其他两个读取方法, 性能较低
				其他两个方法, 一次性读取文件所有内容
					虽然占用内存
					但处理性能比较高
		写
			f.write("内容")
				返回值是写入的字节长度
			判定是否可写
				.writeable()
	关闭
		f.close()
			关闭文件
			为什么需要关闭?
				打开状态, 会占用系统资源
				会把缓冲区内容清空到磁盘文件中
		补充
			f.flush()
			清空缓冲区内容到磁盘文件中

3.文件的相关操作

	模块
		import os
	信息获取操作
		.closed
			返回true如果文件已被关闭,否则返回false
		.name
			返回文件的名称
	其他操作
		重命名
			os.rename(‘old_name’, 'new_name')
		删除
			os.remove('文件名')
		创建文件夹
			os.mkdir("文件夹名称")
		获取当前目录
			os.getcwd()
		改变默认目录
			os.chdir("目标目录")
		获取目录列表
			os.listdir("./")

4.案例

	文件的复制
		大文件处理
	批量重命名

学习地址:

撩课-Python大数据+人工智能1
撩课-Python大数据+人工智能2
撩课-Python大数据+人工智能3
撩课-Python大数据+人工智能4
撩课-Python大数据+人工智能5
撩课-Python大数据+人工智能6
撩课-Python-GUI编程-PyQt5

猜你喜欢

转载自blog.csdn.net/lkitlike/article/details/85044015