python 基础复习 08 之文件操作及练习
1 # 绝对路径: 就是最完整的路径 例子:"E:\数据结构与算法\python.txt" 2 # 相对路径: 相对则是不完整路径。也就是说咱们写的相对路径必须是当前文件夹里的文件才可以open。 3 4 # 只读 :r 5 # rb 6 # f = open('模特主妇老师', mode='r', encoding='utf-8') 7 # content = f.read() 8 # print(content) 9 # f.close() 10 11 # 在r+模式下 的先读 后写 12 # f = open('log', mode='r+', encoding='utf-8') 13 # print(f.read()) 14 # f.write('小狼,大狼') 15 # f.close() 16 17 # 在 r+ 模式下的 先写 后读 18 # 写多少只会占多少,不会全部改动 19 # f = open('log', mode='r+', encoding='utf-8') 20 # f.write('BBBBB') 21 # print(f.read()) 22 # f.close() 23 24 25 # 注:只要open里面有‘b’,那么就不需要encoding='utf-8'。 26 # 但是 得在 f.write('WWWWWw'.encode('utf-8')) 向这样写 27 # f = open('log', mode='r+b') 28 # print(f.read()) 29 # f.write('WWWWWw'.encode('utf-8')) 30 # f.close() 31 # 如果是字母 bytes 内部写得是0101010101.... 32 # 如果是中文, bytes 内部是以16进制存储 33 34 # r+ 读写 35 # r+b 读写(以bytes类型) 36 37 # 只写:w 38 # wb 39 40 # 先将原文件的内容全部清除,然后在写。 41 # f = open('log', mode='w', encoding='utf8') 42 # f.write("老鹰变雄鹰") 43 # f.close() 44 45 # f = open('log', mode='wb') # bytes 类型 46 # f.write("老鹰变雄鹰".encode('utf-8')) 47 # f.close() 48 49 # w+ 与 w 几乎一样 都是先删除,在写。 50 # f = open('log', mode='w+', encoding='utf-8') 51 # f.write('我爱编程!') 52 # print(f.read()) 53 # f.close() 54 55 # a 追加 56 # f = open('log', mode='a', encoding='utf-8') 57 # f.write('wws') 58 # f.close() 59 60 # f = open('log', mode='ab') 61 # f.write('lizywws'.encode('utf-8')) 62 # f.close() 63 64 # f = open('log', mode='a', encoding='utf-8') 65 # f.write('lizy') 66 # f.read() # 报错 一种模式 只能进行一种模式的操作 67 # f.close() 68 69 70 # f = open('log', mode='a+', encoding='utf-8') 71 # f.write("灰熊") 72 # f.seek(0) # f.seek(0) 可以读出 73 # print(f.read()) 74 # f.close() 75 76 # '+' 加号 可以多执行一个动作 77 78 # 功能详解 79 # f = open('log', mode='r+', encoding='utf-8') 80 # content = f.read(3) # read 读出来的都是字符 81 # print(content) 82 # f.close() 83 84 # f = open('log', mode='r+', encoding='utf-8') 85 # # f.tell() 告诉你光标的位置 # 另一个知识点 (断点续传) 86 # print(f.tell()) # 先告诉我光标的位置,然后再用seek定光标的位置 87 # f.seek(3) # seek 是按照字节定光标的位置 88 # # content = f.read() 89 # # print(content) 90 # f.close() 91 92 # 得先知道光标有多少位 用tell, 然后用seek 93 # 去寻找 减是向左 跟横坐标一样 94 # f = open('log', mode='a+', encoding='utf-8') 95 # f.write('蜘蛛') 96 # count = f.tell() 97 # f.seek(count-9) 98 # print(f.read(2)) # read里可以加参数 数字 读多少 99 # f.close() 100 101 # readline 102 # f = open('log', mode='r+', encoding='utf-8') 103 # line = f.readline() # 一行一行读 104 # print(line) 105 # f.close() 106 107 # readlines 108 # f = open('log', mode='r+', encoding='utf-8') 109 # line1 = f.readlines() # 返回列表 每一行当成列表中的一个元素,添加到list中 110 # print(line1) 111 # f.close() 112 113 # truncate 对原文件进行截取 114 # f = open('log', mode='r+', encoding='utf-8') 115 # l1 = f.truncate(9) 116 # f.close() 117 118 # 把用户名和密码写入文件中,判断用户名与密码用文件中的来判断,有三次输入机会 119 # username = input("请注册用户名:") 120 # password = input("请输入注册密码:") 121 # with open("list_of_info", mode="w", encoding="utf-8") as f: 122 # f.write('{}\n{}'.format(username,password)) 123 # print("恭喜你,注册成功!") 124 # lis = [] 125 # i = 0 126 # while i < 3: 127 # uname = input("请输入您的用户名:") 128 # upasswd = input("请输入您的登陆密码:") 129 # with open("list_of_info", mode="r+", encoding="utf-8") as f1: 130 # for line in f1: 131 # lis.append(line) 132 # if uname == lis[0].strip() and upasswd == lis[1].strip(): 133 # print("登陆成功!") 134 # break 135 # else:print("账号或密码错误!请重新输入") 136 # i += 1
# 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。