文本文件:txt doc xls
二进制文件:图片、视频、音乐
文件操作三部曲,一步也不能少:打开,读写,关闭
1. 打开xx.jpg文件, 取出内容, 获取内容的前面半部分
1.1 打开文件
fromFile = open("xx.jpg", "rb")
# 1.2 读取文件内容
fromContent = fromFile.read()
print(fromContent)
# 1.3 关闭文件
fromFile.close()
# 2. 打开另外一个文件xx2.jpg, 然后, 把取出的半部分内容, 写入到xx2.jpg文件里面去
# 2.1 打开目标文件
toFile = open("xx2.jpg", "wb")
# 2.2 写入操作
content = fromContent[0: len(fromContent) // 2]
toFile.write(content)
# 2.3 关闭文件
toFile.close()
打开:
open(‘文件路径’,‘模式,默认为r’)
模式:r,w,a,增加b(以二进制格式进行操作),增加+(读写模式打开)
f=open()
读写:
①定位
f.seek(偏移量,参照点)
偏移量:指针从参照点偏移几个字节。正数往右负数往左。
参照点:0(开头),1(当前),2(结尾) 1和2只能在二进制文件使用
②读写
读:f.read(字节数)
f.readline()每次只read一行
f.readlines()把文件按换行符处理,形成输出处理后的列表
文件很大的时候用readline或者for i in f ,print(f)进行读的操作可以加快速度减少内存占用(f本身以及f.readlines出来的列表都是可遍历的)
写代码的时候增加容错性:
f = open("a.txt", "r")
if f.readable(): #增加容错性
content = f.readlines()
for i in content:
print(i, end="")
f.close()
f = open("a.txt", "r")
if f.writable():#增加容错性
print(f.write("abc"))
f.close()
写:
f.write()
返回值是写入的字节数
③关闭
g.close() 不关闭的话写入的东西存在缓存区,没有直接写在文件内
g.flush() 清空缓存区的内容到文件内
文件相关操作:
重命名,删除,创建等。