一、文件
定义:操作系统提供给用户/应用程序操作硬件的一种虚拟的接口/概念
如何使用文件(open):
t模式(默认的模式) :1.读写都是以字符串为单位 2.文本文件 3.必须指定encoding = 'utf-8'
1.打开文件
windows路径(绝对路径和相对路径)分隔符问题
open('C:UsersWYCDesktopPYTHONTEXT01')
解决方法一:open(r'C:UsersWYCDesktopPYTHONTEXT01',)
解决方法二:open('C:/Users/WYC/Desktop/PYTHON/TEXT01')
2.文件操作的基本流程
f=open(r'C:UsersWYCDesktopPYTHONTEXT01',mode='rt') # 1.选择需要打开的文件,填写路径 res=f.read() # 系统调用,打开文件,读取内容 print(res) # 打印文件内容 f.close() # 关闭文件 # del f # 回收操作系统资源
3.with 上下文文件管理
with open(r'C:UsersWYCDesktopPYTHONTEXT01',mode='rt',encoding='utf-8') as f: res = f.read() # t模式会将f.read()读出的结果解码成unicode print(res)
4.模式r(只读文件)
inp_name=input('请输入你的账号:').strip() inp_password=input('请输入你的密码:').strip() with open('zhmm.txt',mode='rt',encoding='utf-8') as f: for line in f: # 要循环txt文件的所有内容 name,password=line.strip().split(':') # 保证 不会重复 if inp_name==name and inp_password==password: print('登入成功') break else: # 与for对应 print('请重新登入')
5.模式w (只写文件,创建新的文件)
只读模式在文件不存在时会创建文件,存在是会清空文件,指针停留在开头,
with open('zhmm.txt',mode='wt',encoding='utf-8') as f: f.read() # 报错,不可读 f.write('khadf ') # 在文件里填写khadf,指针停留在末尾需要用 换行 # 重点: # 1.在w模式下,文件打开没有关闭的情况下,连续写入,新写的内容总会跟在旧的后面 with open('zhmm.txt',mode='wt',encoding='utf-8') as f: f.write('khadf12 ') f.write('khadf435 ') f.write('khadf342523 ')
6. 模式a(只追加写,在原有的文件之上添加新的内容)
with open('zhmm.txt',mode='at',encoding='utf-8') as f: f.read() # 报错,不可读 f.write('') # 文件不存在时,会创建新的文件 # 重点: 1.在w模式下,文件打开没有关闭的情况下,连续写入,新写的内容总会跟在旧的后面 # 2.以a文件重新打开文件时,不会清空源文件的内容,且指针停文件留在最后一行 f.write('khadf12 ') f.write('khadf435 ') f.write('khadf342523 ')