day8(讀取檔案三次登陸,檔案操作)
阿新 • • 發佈:2018-11-04
# -*- coding:utf-8 -*- # write by Paul name = input('請輸入您要建立的使用者名稱:') password = input('請輸入您要建立的密碼:') with open('log.txt', mode="w",encoding='UTF-8') as f: f.write("{}\n{}".format(name,password)) print('恭喜您建立成功!') print('___________請嘗試登陸___________') lis = [] i=0 while i < 3: name1 = input('請輸入您的使用者名稱:') password1 = input('請輸入您的密碼:') with open('log.txt', mode="r+",encoding='UTF-8') as f: for line in f.readlines(): lis.append(line) if name1 == lis[0].strip() and password1 == lis[1].strip(): print('恭喜您登陸成功') break else:print('賬號和密碼錯誤,請重新輸入賬號和密碼!') i += 1
#絕對路徑
# f = open('d:\模特主婦護士班主任.txt',mode='r',encoding='UTF-8')
# content = f.read()
# print(content)
# f.close()
#bytes ---->str
# f = open('模特主婦護士班主任',mode='r',encoding='utf-8')
# content = f.read()
# f.write('fjsdlk')
# f.close()
# f = open('模特主婦護士班主任',mode='rb',)
# content = f.read()
# print(content)
# f.close()
# f = open('log',mode='r+',encoding='utf-8')
# print(f.read())
# f.close()
# f = open('log',mode='r+b')
# print(f.read())
# f.write('大猛,小孟'.encode('utf-8'))
# f.close()
#對於w:沒有此檔案就會建立檔案
# f = open('log',mode='w',encoding='utf-8')
# f.write('騎兵步兵')
# f.close()
# 先將原始檔的內容全部清除,在寫。
# f = open('log',mode='w',encoding='utf-8')
# f.write('附近看到類似糾紛')
# f.close()
# f = open('log',mode='w+',encoding='utf-8')
# f.write('aaa')
# f.seek(0)
# print(f.read())
# f.close()
# f = open('log',mode='wb')
# f.write('附近看到類似糾紛'.encode('utf-8'))
# f.close()
# f = open('log',mode='a',encoding='utf-8')
# f.write('佳琪')
# f.close()
#
# f = open('log',mode='a',encoding='utf-8')
# f.write('佳琪')
# f.close()
# f = open('log',mode='a+',encoding='utf-8')
# f.write('佳琪')
# f.seek(0)
# print(f.read())
# f.close()
# f = open('log',mode='ab')
# f.write('佳琪'.encode('utf-8'))
# f.close()
#功能詳解
# obj = open('log',mode='r+',encoding='utf-8')
# content = f.read(3) # 讀出來的都是字元
# f.seek(3) # 是按照位元組定游標的位置
# f.tell() 告訴你游標的位置
# print(f.tell())
# content = f.read()
# print(content)
# f.tell()
# f.readable() # 是否刻度
# line = f.readline() # 一行一行的讀
# line = f.readlines() # 每一行當成列表中的一個元素,新增到list中
# f.truncate(4)
# for line in f:
# print(line)
# f.close()
# f = open('log',mode='a+',encoding='utf-8')
# f.write('佳琪')
# count = f.tell()
# f.seek(count-9)
# print(f.read(2))
# f.close()
# with open('log',mode='r+',encoding='utf-8') as f,\
# open('log',mode='w+',encoding='utf-8') as f1:
# 檔案處理 # 開啟檔案 #open('路徑','開啟方式','指定編碼方式') # 開啟方式 r w a r+ w+ a+ b #r+ 開啟檔案直接寫 和讀完再寫 # 編碼方式 —— utf-8 # 操作檔案 # 讀 # read 一次性讀 # readlines 一次性讀 # readline 一行一行讀 #不知道在哪兒結束 #視訊 圖片 rb bytes 按照位元組讀 # for迴圈 —— 最好!!! # 寫 # write # 游標 —— 檔案指標 #seek _ 指定游標移動到某個位置 #tell _ 獲取游標當前的位置 #truncate _ 擷取檔案 # 關閉檔案 #close # 修改檔案 with open('小護士班主任',encoding='utf-8') as f,open('小護士班主任.bak','w',encoding='utf-8') as f2: for line in f: if '星兒' in line: #班主任:星兒 line = line.replace('星兒','啊嬌') #寫檔案 f2.write(line) #小護士:金老闆 import os os.remove('小護士班主任') #刪除檔案 os.rename('小護士班主任.bak','小護士班主任') #重新命名檔案檔案處理
# 修改檔案 with open('小護士班主任',encoding='utf-8') as f,open('小護士班主任.bak','w',encoding='utf-8') as f2: for line in f: if '星兒' in line: #班主任:星兒 line = line.replace('星兒','啊嬌') #寫檔案 f2.write(line) #小護士:金老闆 import os os.remove('小護士班主任') #刪除檔案 os.rename('小護士班主任.bak','小護士班主任') #重新命名檔案修改檔案