1、什么是文件
操作系统提供给你操作硬盘的一个工具
2、为什么要用文件
因为人类和计算机要永久保存数据
3、怎么用文件
相对路径:a.txt # 必须与当前py文件在同一级目录
绝对路径:D:\项目路径\python13期\day07\a.txt
读文件
f=open('a.txt') print(f.readable()) #判断当前文件是否可读 True print(f.writable()) #判断当前文件是否可写 False f.close() #回收操作系统的资源
#\可以实现换行 以下为相对路径 同时读和写操作 with open('a.txt',mode='r')as rf,\ open('a.txt',mode='w')as wf: # with会自动帮你回收操作系统的资源,无需自己操作,关闭 print(rf.readable()) #True print(rf.writable()) #False #r进行转义 以下为绝对路径 with open(r'D:\oldboy_edu\python_code\day7\a.txt',encoding='utf-8')as f: # 不加encoding = 'utf-8'出现乱码,原因不明 print(f.read()) #读取文件
th.jpg(原素材)lixiaoran.png(生成图片)
# 默认打开文件的模式:rt read text 和r相同 # rb read bytes with open('a.txt',mode='rb')as f: # 内容为:今天天气真好 print(f.read()) # b'\xe4\xbb\x8a\xe5\xa4\xa9\xe5\xa4\xa9\xe6\xb0\x94\xe7\x9c\x9f\xe5\xa5\xbd' #读取jpg图片为二进制,再把二进制数据写入png文件,生成新的图片 with open(r'th.jpg',mode='rb')as rf,\ open('lixiaoran.png',mode='wb')as wf: lixiaoran = rf.read() print(lixiaoran) wf.write(lixiaoran)
打开文件的三种模式:
r : 1、只读 2、如果文件不存在,会报错
w:(慎用) 1、只写 2、如果文件不存在,则新建一个文件写入数据 3、如果文件内存在数据,会将数据清空,重新写入
a: 1、追加写 2、如果文件内存在数据,会在已有数据的后面追加数据 3、如果文件不存在,则新建一个文件写入数据
处理文件的模式:
t #txt模式
b #二进制模式
"""
with open(r'dir\b.txt','r',encoding='gbk')as f: print(f.readable()) print(f.read()) print(f.readline()) # 执行一次,打印一行内容 print(f.readlines()) #打印所有内容 print(f.read()) print(f.readable()) print(f.read()) for i in f: print(i) with open('b.txt', 'w', encoding='gbk')as f: f.write("上海校区第一帅-sean") f.writelines(["上午没翻车\n",'我很高兴']) with open(r'dir\aaaaa.txt','a',encoding='gbk')as f: print(f.writable()) f.write("\n翻车是不可能的")