千家信息网

Python 实现操作文档的读取,续写,覆盖重写自动备份

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,# coding:utf-8import time # 备份文件的时间格式化和操作暂停使用import shutil # 作为文件备份使用# 需求说明"""# 需求:# 1、可输入文档
千家信息网最后更新 2025年01月23日Python 实现操作文档的读取,续写,覆盖重写自动备份
# coding:utf-8import 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 )


0