python覆盖打印_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 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值