Tkinter使用filedialog打开编辑txt文档并保存

本文介绍了如何在Python中使用Tkinter库结合filedialog函数,实现文本框中文件的打开、读取、编辑以及保存功能,包括askopenfilename(),asksaveasfile()等方法的应用。
摘要由CSDN通过智能技术生成

知识点

使用filedialog打开txt文档并保存

用到的两个函数
filedialog.askopenfilename()
filedialog.asksaveasfile()
注意filedialog.askopenfilename()返回的是文件名,而filedialog.asksaveasfile()返回的是打开的文件。

Tkinter创建文本框并获得文本框中的文字

创建文本框
text_file = Text(frame_left_top)
获得文本框中的文字
str1 = text_file.get(1.0,END)

Tkinter创建按钮

button_open = Button(frame_right,width=7,height=1,text=‘Open’,command=funcOpen)

Tkinter创建框架并布局

frame_left_top = Frame(width=380,height=370,bg=‘white’)
frame_left_top.grid(row=0,column=0,padx=2,pady=5)

代码

from tkinter import *
from tkinter import filedialog

def funcOpen():
  global fname
  text_file.delete(1.0,END)
  fname = filedialog.askopenfilename(initialdir = "./",filetypes=[('TXT','.txt')])
  with open(fname,'r') as f1:
    str1=f1.read()
  text_file.insert(0.0,str1)
  f1.close()
  
def funcSave():
  str1 = text_file.get(1.0,END)  
  with open(fname,'w') as f1:
    f1.write(str1)
  f1.close()

def funcSaveAs():
  f1 = filedialog.asksaveasfile(initialdir = "./",filetypes=[('TXT','.txt')],defaultextension='.txt')
  str1 = text_file.get(1.0,END)  
  f1.write(str1)
  f1.close()

root = Tk()
root.title("File save and open")

frame_left_top = Frame(width=380,height=370,bg='white')

frame_right = Frame(width=70,height=370)

text_file = Text(frame_left_top)

button_open = Button(frame_right,width=7,height=1,text='Open',command=funcOpen)
button_save = Button(frame_right,width=7,height=1,text='Save',command=funcSave)
button_save_as = Button(frame_right,width=7,height=1,text='Save as',command=funcSaveAs)

frame_left_top.grid(row=0,column=0,padx=2,pady=5)
frame_right.grid(row=0,column=1,rowspan=3,padx=4,pady=5)
frame_left_top.grid_propagate(0)
frame_right.grid_propagate(0)

text_file.grid()
button_open.grid(padx=2,pady=2,sticky = 'SE')
button_save.grid(padx=2,pady=2,sticky = 'SE')
button_save_as.grid(padx=2,pady=2,sticky = 'SE')

mainloop()

运行结果

主界面如下图
在这里插入图片描述
单击打开就会跳转到Windows打开界面。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值