python針對記事本操作以及資料夾操作
阿新 • • 發佈:2019-01-08
#-*-coding:utf-8-*-
'''
建立記事本,編寫內容,檢視內容,格式化筆記本,備份與恢復本地記事本,日誌內容過濾
write()函式
writelines()函式
os 函式
copyfile()和move()函式
replace()函式 替換字串
mkdir()函式 建立檔案目錄
makedirs()函式 可以建立檔案多級目錄
rmdir()函式 刪除空目錄
rmtree()函式 刪除非空目錄
'''
import os
import shutil
import re
import time
print('=============歡迎使用窗內網記事本=============')
con = True
while 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