#-*-coding:utf-8-*-'''建立記事本,編寫內容,查看內容,格式化筆記本,備份與恢復本地記事本,日誌內容過濾write()函數writelines()函數os 函數copyfile()和move()函數replace()函數 替換字符串mkdir()函數 建立文件目錄makedirs()函數 能夠建立文件多級目錄rmdir()函數 刪除空目錄rmtree()函數 刪除非空目錄'''import osimport shutilimport reimport timeprint('=============歡迎使用窗內網記事本=============')con = Truewhile con: k = int(input('請輸入您的操做\n1.【我要寫日記】\n2.【查看往事】\n3.【格式化】\n4【退出】\n')) if (k == 1): times = 'd:\\ProjectFile\\'+time.strftime('%Y-%m-%d',time.localtime()) if os.path.exists(times) == False: os.makedirs(times) files = times + '\mylog.log' o = open(files,'a+') content = input('請輸入您須要記錄的事情:\n') count = 0; for s in o.readlines(): li = re.findall('窗內網',s) if len(li)>0: count=count+li.count('窗內網') th = int(input('查找到'+str(count)+'個可能替換的內容是否繼續?\n肯定輸入1:,取消輸入2:\n')) if th == 1: content = content.replace('窗內網','窗內網(http://www.itzcn.com)') o.write(content) o.close() print('=====================') elif(k == 2): fls = input('請輸入記事本分類名稱:\n') if os.path.exists('D:\ProjectFile\\'+fls+'\mylog.log'): print("日誌內容:\n") o = open('D:\ProjectFile\mylog.log','a+') listcontent = o.readlines() for content in listcontent: print(content) o.close() else: print('分類名稱不存在!') print('======================') elif(k == 3): gsh = int(input('您肯定要格式化記事本嗎?格式化後數據將會所有消失\n肯定輸入:1,取消輸入2:\n')) if (gsh == 1): fls = input('請輸入格式化記事本分類名稱:\n') print('記事本正在格式化中......') if os.path.exists('D:\ProjectFile\mylog.log'): os.remove('D:\ProjectFile\mylog.log'); print('記事本格式化成功') open('D:\ProjectFile\mylog.log','a+') else: print('記事本不存在!') print('==============================') elif(k == 4): bf = int(input('您肯定要備份記事本嗎?\n肯定輸入:1.取消輸入2:\n')) if (bf == 1): fls = input('請輸入備份記事本分類名稱:\n') print('記事本正在備份中......') if os.path.exists('D:\\ProjectFile\\'+fls+'\mylog.log'): os.makedirs('D:\\ProjectFile\\'+fls+'\\bf') shutil.copyfile('D:\\ProjectFile\\mylog.log','D:\\ProjectFile\\bf_mylog.log') shutil.move('D:\\ProjectFile\\bf_mylog.log','D:\\ProjectFile\\bf_mylog.log') print('備份成功') else: print('備份記事本分類不存在!') elif(k == 5): hf = int(input('您肯定要恢復記事本嗎\n肯定輸入:1,取消輸入2:\n')) if (hf == 1): print('記事本正在恢復中......') shutil.copyfile('D:\\ProjectFile\\bf_mylog.log','D:\\ProjectFile\\mylog.log') elif(k == 6): print('日記分類信息:') def ListDir(path,fun,par): for filespath in par: print(os.path.join(fun,filespath).strip('D:\ProjectFile')) if __name__ == '__main__': os.path.walk('D:\ProjectFile',ListDir,()) else: print('歡迎下次使用') con=False