easygui 写一个文本框

打开一个文本;关闭时如果发现有改动,会提示覆盖还是另存为

import easygui as eg
import os

#文件路径
file_path = eg.fileopenbox(default="*.txt")

#打开文件
with open(file_path)as f:
    #把文件读取的内容放到text中
    text = f.read()
    # title 使用文件名
    title = os.path.basename(file_path)
    #窗口消息
    msg = "文件 [%s] 的内容如下:" % title
    #建立一个文本框, 读取文本内容     给他定义一个变量,是一会儿下面要调用他
    text_after = eg.textbox(msg, title, text)


#判断是否有修改,就是判断text 读取的内容是不是等于文本框text_after里的内容就行了
#因为textbox最后一行会返回\n. 所以往前取一个字符.[:-1]
if text != text_after[:-1]:
    #如果文件被修改的时候,会弹出一个框,
    choice = eg.buttonbox(msg="文件有修改", title="警告!", choices=("覆盖", "取消", "另存为"))
    if choice == "覆盖":
        #把text_after[:-1]的内容写到原文件里面,
        with open(file_path, "w") as old_file:
            old_file.write(text_after[:-1])
    if choice == "取消":
        pass
    if choice == "另存为":
        #如果点另存为,那就弹出一个file save box窗口,保存文件,
        anther_path = eg.filesavebox(default=".txt")
        #如果保存文件的时候没有后缀.txt 那就 自动添加一个后缀
        if os.path.splitext(anther_path)[1] != ".txt":
            anther_path += ".txt"
        #把文件写到新保存的文件中
        with open(anther_path, "w")as new_file:
            new_file.write(text_after[:-1])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值