Python 實現操作文檔的讀取,續寫,覆蓋重寫自動備份
阿新 • • 發佈:2017-08-09
python 文檔讀寫
# coding:utf-8 import time # 備份文件的時間格式化和操作暫停使用 import shutil # 作為文件備份使用 # 需求說明 """ # 需求: # 1、可輸入文檔路徑名稱; # 2、文本自動換行輸入; # 3、文本自動保存; # 4、可讀取文本 # 5、可覆蓋重寫; # 6、若覆蓋重寫,則備份之前的文件。 """ # 定義讀取文檔函數 def read_text(text_url): with open(text_url, "r") as read: for i in read.readlines(): print i print "*" * 20,"文檔內容顯示結束", "*" * 20 # 定義續寫文檔函數 def continue_write(text_url): write_flag = 1 read_flag = 1 while write_flag == 1: print "請輸入你所需要輸入的內容:\n" get_new_string = raw_input() with open(text_url, "a+") as write: write.write("\n" + get_new_string) # 每次輸入都進行一次換行 while read_flag == 1: print "你所輸入的值已保存,並選擇是否打印查看?\n" print "任意鍵,則表示查看!\n輸入Q或q則不查看,繼續輸入!\n" get_search_input_key = raw_input() if get_search_input_key == "Q" or get_search_input_key == "q": continue_write(text_url) read_flag = 0 else: read_text(text_url) read_flag = 0 print "若確認要退出編輯,請輸入Q或q進行退出!\n" "任意鍵,則表示接受繼續輸入!\n" get_input_key = raw_input() if get_input_key == "Q" or get_input_key == "q": print "GoodBye..." write_flag = 0 else: read_flag = 1 # 可以再次判定是否需要讀的操作 continue # 繼續循環寫操作 # 定義重寫文檔函數 def cover_write(text_url): flag_write = 1 print "正在備份原來的文件,備份文件以系統時間和.bak作為備份文件!\n" # 引用time模塊來格式化系統時間 # shutil.copy 第一個參數為原文件路徑,第二個參數為備份文件路徑 shutil.copy(text_url, text_url + "." + time.strftime("%Y%m%d%H%M%S") + ".bak") print "請等待2秒,作為原文件的備份時間...\n" time.sleep(2) print "現在你可以重寫你的文件...\n" print "請輸入你要重寫的內容...\n" get_input_string = raw_input() with open(text_url, "w") as cover: cover.write(get_input_string) while flag_write == 1: print "請問是否繼續輸入?\n" "任意鍵則繼續輸入,輸入Q或q則退出輸入!" get_write_continue_key = raw_input() if get_write_continue_key == "Q" or get_write_continue_key == "q": flag_write = 0 else: continue_write(text_url) flag_write = 0 print "當前你的文檔內容為:\n" read_text(text_url) # 系統主程序入口 if __name__ == "__main__": print r"請輸入你所需要讀取的文檔路徑和名稱。" print r"例如:E:\Users\Administrator\Desktop\test.txt" print "請輸入:\n" text_url = raw_input() print "\n" print "*" * 20, "文檔內容顯示開始", "*" * 20 # 調用查看文檔函數 read_text(text_url) # 打印空格是為了與文檔內容分隔 print ‘\n‘ # 打印50個*,也是為做分隔符使用 print ‘-*-‘ * 10, "進入主程序", "-*-" * 10 print "請問是否需要繼續添加新內容?\n" "任意鍵表示繼續輸入\n" "輸入quit,則退出!\n" "輸入cover,則覆蓋全文重新書寫!系統自動會備份舊文檔,請謹慎操作!" is_continue_or_cover = raw_input() if is_continue_or_cover == "quit": print "GoodBye..." elif is_continue_or_cover == "cover": cover_write(text_url) else: continue_write(text_url )
本文出自 “as1024” 博客,請務必保留此出處http://as1024.blog.51cto.com/12241298/1954814
Python 實現操作文檔的讀取,續寫,覆蓋重寫自動備份