重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一.文件操作的流程
我们提供的服务有:网站制作、成都网站设计、微信公众号开发、网站优化、网站认证、当涂ssl等。为超过千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的当涂网站制作公司1、打开文件
open('C:\a.txt\nb\c\d.txt')
解决方案一:推荐
open(r'C:\a.txt\nb\c\d.txt')
解决方案二:
open('C:/a.txt/nb/c/d.txt')
f=open(r'aaa/a.txt',mode='rt') # f的值是一种变量,占用的是应用程序的内存空间
2、操作文件:
读/写文件,应用程序对文件的读写请求都是在向操作系统发送系统调用,然后由操作系统控制硬盘把输入读入内存、或者写入硬盘
res=f.read()
3、关闭文件
f.close() # 回收操作系统资源
f.read() # 变量f存在,但是不能再读了
二.资源管理与with上下文管理
打开一个文件包含两个部分资源:应用程序的变量f和操作系统打开的文件。
在操作完一个文件后必须把这两部分的资源回收
通常回收有两种方法:
1 f.close()#回收操作系统打开的文件资源
2 del f # 回收应用程序资源
其中,del f 一定要发生在f.close()之后,否则就会导致操作系统打开的文件无法关闭,。
python的垃圾回收机制让我们无序考虑del f,所以我们必须记住,操作完毕后一定要fclose(),
但是我们都是比较懒或者比较健忘的,所以python就有with关键字来帮助我们管理上下文。
1. with open('a.txt',mode='rt') as f1:# f1=open('a.txt',mode='rt')
pass
2. with open('a.txt',mode='rt') as f1,\
open('b.txt',mode='rt') as f2:
res1=f1.read()
res2=f2.read()
print(res1)
三.文件的操作模式
文件的读写操作的模式有
文件的读写内容的模式有
t 文本模式:1.读写文件都是以字符串为单位
2.只能针对文本文件
3.必须制定encoding参数
b 二进制模式:1.读写文件都是以bytes为单位的
2.可以针对所有文件
3.一定不能制定encoding参数
强调:t和b不能单独使用,必须跟r/w/a连用
各模式的参考案例
1、r(默认的操作模式):
只读模式,当文件不存在时报错,当文件存在时文件指针跳到开始位置
with open('c.txt',mode='rt',encoding='utf-8') as f: print('第一次读'.center(50,'*')) res=f.read() # 把所有内容从硬盘读入内存 print(res) with open('c.txt', mode='rt', encoding='utf-8') as f: print('第二次读'.center(50,'*')) res1=f.read() print(res1)