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
# 注:本文是根据老男孩课程内容整理而成的,本文仅供个人笔记使用,如果有侵犯,请联系我,我立即撤销。