day008 文件操作

一、文件操作

 1 f = open(path, mode= "", encoding= "")
 2 
 3 # path 绝对路径
 4 f = open('d:\模特主妇护士班主任.txt',mode='r',encoding='UTF-8')
 5 content = f.read()
 6 print(content)
 7 f.close()
 8 
 9 #bytes ---->str
10 f = open('模特主妇护士班主任',mode='r',encoding='utf-8')
11 content = f.read()
12 f.write('fjsdlk')  # 会报错
13 f.close()
14 
15 f = open('模特主妇护士班主任',mode='rb',)
16 content = f.read()
17 print(content)
18 f.close()
19 
20 f = open('log',mode='r+',encoding='utf-8')
21 print(f.read())
22 f.close()
23 
24 f = open('log',mode='r+b')
25 print(f.read())
26 f.write('大猛,小孟'.encode('utf-8'))
27 f.close()
28 
29 
30 
31 #对于w:没有此文件就会创建文件
32 f = open('log',mode='w',encoding='utf-8')
33 f.write('骑兵步兵')
34 f.close()
35 
36 # 先将源文件的内容全部清除,在写。
37 f = open('log',mode='w',encoding='utf-8')
38 f.write('附近看到类似纠纷')
39 f.close()
40 
41 f = open('log',mode='w+',encoding='utf-8')
42 f.write('aaa')
43 f.seek(0)
44 print(f.read())
45 f.close()
46 
47 f = open('log',mode='wb')
48 f.write('附近看到类似纠纷'.encode('utf-8'))
49 f.close()
50 
51 f = open('log',mode='a',encoding='utf-8')
52 f.write('佳琪')
53 f.close()
54 
55 f = open('log',mode='a',encoding='utf-8')
56 f.write('佳琪')
57 f.close()
58 
59 f = open('log',mode='a+',encoding='utf-8')
60 f.write('佳琪')
61 f.seek(0)
62 print(f.read())
63 f.close()
64 
65 f = open('log',mode='ab')
66 f.write('佳琪'.encode('utf-8'))
67 f.close()
68 
69 
70 # 功能详解
71 
72 obj = open('log',mode='r+',encoding='utf-8')
73 content = f.read(3)  # 读出来的都是字符
74 f.seek(3)  # 是按照字节定光标的位置
75 f.tell() # 告诉你光标的位置
76 print(f.tell())
77 content = f.read()
78 print(content)
79 f.tell()
80 f.readable()  # 是否可读
81 line = f.readline()  # 一行一行的读
82 line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中
83 f.truncate(4)
84 for line in f:
85     print(line)
86 f.close()
87 
88 f = open('log',mode='a+',encoding='utf-8')
89 f.write('佳琪')
90 count = f.tell()
91 f.seek(count-9)
92 print(f.read(2))
93 f.close()
94 
95 with open('log',mode='r+',encoding='utf-8') as f,\
96         open('log',mode='w+',encoding='utf-8') as f1:
文件操作

 二、文件保存账号密码

 1 username = input('请输入你要注册的用户名:')
 2 password = input('请输入你要注册的密码:')
 3 with open('list_of_info',mode='w',encoding='utf-8') as f:
 4     f.write('{}\n{}'.format(username,password))
 5 print('恭喜您,注册成功')
 6 lis = []
 7 
 8 i = 0
 9 while i < 3:
10     usn = input('请输入你的用户名:')
11     pwd = input('请输入你的密码:')
12     with open('list_of_info',mode='r+',encoding='utf-8') as f1:
13         for line in f1:
14             lis.append(line)
15     if usn == lis[0].strip() and pwd == lis[1].strip():
16         print('登录成功')
17         break
18     else:print('账号和密码错误')
19     i+=1
View Code

三、再论编码

 1 #str --->byte  encode 编码
 2 
 3 s = '二哥'
 4 b = s.encode('utf-8')
 5 print(b)
 6 
 7 # byte --->str decode 解码
 8 s1 = b.decode('utf-8')
 9 print(s1)
10 
11 s = 'abf'
12 b = s.encode('utf-8')
13 print(b)
14 
15 # byte --->str  decode 解码
16 s1 = b.decode('gbk')
17 print(s1)
View Code

四、作业

  把文件的内容替换

 1 # 修改文件
 2 with open('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8') as f2:
 3     for line in f:
 4         if '星儿' in line:  #班主任:星儿
 5             line = line.replace('星儿','啊娇')
 6         #写文件
 7         f2.write(line) #小护士:金老板
 8 
 9 import os
10 os.remove('小护士班主任') #删除文件
11 os.rename('小护士班主任.bak','小护士班主任')  #重命名文件
answer
posted @ 2018-10-08 10:04  wangspy  阅读(87)  评论(0)    收藏  举报