1.文件路径
2.编码方式方式
3.操作方式:只读,只写,追加,读写,写读......
以什么编码方式存储文件,就以什么编码打开进行操作
1 f=open(‘路径‘,mode=‘r‘,encoding=‘utf-8‘) 2 content=f.read() 3 print(content) 4 f.close()
1 f=open(‘路径‘,mode=‘rb‘)#bes类型非文件上传下载使用’rb’按照二进制位进行读取的,不会将读取的字节转换成字符 二进制文件就用二进制方法读取’rb’ 2 content=f.read() 3 print(content) 4 f.close()
1 #写 2 # 对于w:没有此文件就会创建文件 3 # 有此文件先将源文件的内容全部清除,再写 4 f=open(‘路径‘,mode=‘w‘,encoding=‘utf-8‘) 5 f.write(‘‘) 6 f.close() 7 f=open(‘路径‘,mode=‘wb‘)#bes类型非文件上传下载使用’rb’按照二进制位进行读取的,不会将读取的字节转换成字符 二进制文件就用二进制方法读取’rb’ 8 f.write(‘‘.encode(‘utf-8‘)) 9 f.close()
1 #追加 2 f=open(‘路径‘,mode=‘a‘,encoding=‘utf-8‘) 3 f.write(‘‘) 4 f.close() 5 f=open(‘路径‘,mode=‘ab‘) 6 f.write(‘‘.encode(‘utf-8‘)) 7 f.close()
#读写 f=open(‘路径‘,mode=‘r+‘,encoding=‘utf-8‘) f.read()#读 f.write()#写 f.close() # 先写,你写多少就占多数,读只显示后面的 f=open(‘路径‘,mode=‘r+b‘) f.read()#读 f.write(‘‘,encode(‘utf-8‘))#写 f.close(
1 #写读 2 f=open(‘路径‘,mode=‘w+‘,encoding=‘utf-8‘) 3 f.write()#写 4 f.seek()#调光标 5 f.read()#读 6 f.close() 7 #先清除再写,不太常用
1 #写读 2 f=open(‘路径‘,mode=‘a+‘,encoding=‘utf-8‘) 3 f.write()#写 4 f.read()#读 5 f.close() 6 #读不出来需要用到;f.seek()#调光标
4.功能详解
1 f.read(多少个字符)按字符读,一次性读 2 f.seek(走第几个读)按字节找(UTF-8)一个中文3个字节 3 f.tell()告诉你光标在那 4 f.readable()是否可读 5 f.readline()一行一行的读,不知道在哪结束 6 f.readlines()每一行当成列表中的一个元素,添加到列表,一次性读 7 f.truncate(2)对原文截取一段 8 for line in f:读取的是每一行,最好的方法 9 10 读 11 with open(‘路径‘,mode=‘a+‘,encoding=‘utf-8‘) as 别名,open(‘路径‘,mode=‘w‘,encoding=‘utf-8‘):可以同时打开多个 12 可以不用obj.close() 13 修改文件 14 文件不能修改 15 with open(‘‘,encoding=‘utf-8‘) as f,open(‘.bak‘,‘w‘,encoding=‘utf-8‘) as fw:#.bak零时文件 16 for line in f: 17 if ‘‘ in line: 18 line=line.replace(‘‘,‘‘) 19 f2.write(line) 20 #删除文件和重命名 21 import os 22 os.remove(‘‘)删除文件 23 os.rename(‘.bak‘,)重命名
5.登录注册
username = input(‘请输入你要注册的用户名:‘) password = input(‘请输入你要注册的密码:‘) with open(‘list_of_info‘,mode=‘w‘,encoding=‘utf-8‘) as f: f.write(‘{}\n{}‘.format(username,password)) print(‘恭喜您,注册成功‘) lis = [] i = 0 while i < 3: usn = input(‘请输入你的用户名:‘) pwd = input(‘请输入你的密码:‘) with open(‘list_of_info‘,mode=‘r+‘,encoding=‘utf-8‘) as f1: for line in f1: lis.append(line) if usn == lis[0].strip() and pwd == lis[1].strip(): print(‘登录成功‘) break else:print(‘账号和密码错误‘) i+=1
原文:https://www.cnblogs.com/xk66d/p/10818456.html