Python中的文件操作
文件操作使用的函数是open
1.文件操作模式:
w:写
1、open在写文件的时候,首先判断被操作的文件是否存在
2、如果不存在,就在内部自动创建一个文件
r:读
1、open读取文件的时候,首先判断被操作的文件是否存在
2、如果文件不存在,就报FileNotFoundError的错误信息提示
文件操作步骤
1、打开
2、操作
3、关闭
1.1文件写的过程

1 f=open('我最帅.txt','w',encoding='utf-8') 2 f.write('hello,帅哥') #write 书写为单行 writelines 3 f.close()
1.2文件读的过程

1 f=open('函数.py','r',encoding='utf-8') 2 # 读取文件所有内容 3 print(f.read()) 4 f.close()
2.with上下文
我们对文件的操作,一般情况下,分为三种情况,
分别是:打开文件,操作文件(读写等),关闭文件。
在Python的语言中,提供了对文件的操作方法,
默认open()是打开文件并且是只读模式,事实上打开和关闭文件比较很好的理解,操作文件,
那么在操作文件前提打开文件,打开文件就涉及到以什么样的模式来打开文件,比如读,写,只读,
只写,二进制等模式
具体总结如下:
r:只读模式
w:只写模式(不可读,不存在就创建,存在就清空内容)
x:只写模式(不可读,不存在就创建,存在就报错)
a:增加模式(可读,不存在就创建,存在只增加内容)
'+'表示可以同时读取某个文件,具体为:
r+:读写
w+:写读
x+:写读
a+:写读
2.1with上下文 书写

1 with open('world.txt','w',encoding='utf-8') as f: #将open('world.txt','w',encoding='utf-8') 赋值给f 2 f.writelines('''学习有什么用 3 除了钱多 4 能出去玩 5 长知识 6 还能干啥?''')
2.2with上下文 读取

1 with open('world.txt','r',encoding='utf-8') as f: 2 #读取文件的所有内容 3 print(f.read()) 4 #读取文件的第一行内容 5 print(f.readline()) #readline为按行读取 6 #按行读取文件的内容,如果按行读取的话 则带有循环的性质 7 for item in f.readlines(): 8 print(item.strip()) #strip去掉输入内容当中的空格
3.将函数实战案例进行改造

1 def register(): 2 username=input('请输入你的账户:\n') 3 password=input('请输入你的密码:\n') 4 temp=username+','+password 5 with open('world.txt','w',encoding='utf-8') as f: 6 f.write(temp) 7 # f=(open('world.txt','w')) 8 # f.write(temp) 9 # f.close() 10 11 def login(): 12 username=input('请输入你的账户:\n') 13 password=input('请输入你的密码:\n') 14 with open('world.txt','r') as f: 15 # f=(open('world.txt','r')) 16 lists=f.read().split(',') 17 if username==lists[0] and password==lists[1]: 18 print('登录成功') 19 else: 20 print('登录失败') 21 22 while True: 23 f=int(input('1.注册账号 2.登录账号 3.其他选项:\n')) 24 if f==1: 25 register() 26 elif f==2: 27 login() 28 elif f==3: 29 break
在login()函数当中,我们可以看到
运用了with open('world'.txt,'r') as f:
由于该代码中自带算法 所以我们不需要输入f.close()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!