Python3 tkinter 实现文件读取及保存功能

yipeiwu_com6年前Python基础

tkinter介绍

tkinter是python自带的GUI库,是对图形库TK的封装

tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行

# !/user/bin/env Python3
# -*- coding:utf-8 -*-
 
"""
file:window.py.py
create time:2019/6/27 14:54
author:Loong Xu
desc: 窗口
"""
import tkinter as tk
from tkinter import filedialog, dialog
import os
 
window = tk.Tk()
window.title('窗口标题') # 标题
window.geometry('500x500') # 窗口尺寸
 
file_path = ''
 
file_text = ''
 
text1 = tk.Text(window, width=50, height=10, bg='orange', font=('Arial', 12))
text1.pack()
 
 
def open_file():
  '''
  打开文件
  :return:
  '''
  global file_path
  global file_text
  file_path = filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser('H:/')))
  print('打开文件:', file_path)
  if file_path is not None:
    with open(file=file_path, mode='r+', encoding='utf-8') as file:
      file_text = file.read()
    text1.insert('insert', file_text)
 
 
def save_file():
  global file_path
  global file_text
  file_path = filedialog.asksaveasfilename(title=u'保存文件')
  print('保存文件:', file_path)
  file_text = text1.get('1.0', tk.END)
  if file_path is not None:
    with open(file=file_path, mode='a+', encoding='utf-8') as file:
      file.write(file_text)
    text1.delete('1.0', tk.END)
    dialog.Dialog(None, {'title': 'File Modified', 'text': '保存完成', 'bitmap': 'warning', 'default': 0,
               'strings': ('OK', 'Cancle')})
    print('保存完成')
 
 
bt1 = tk.Button(window, text='打开文件', width=15, height=2, command=open_file)
bt1.pack()
bt2 = tk.Button(window, text='保存文件', width=15, height=2, command=save_file)
bt2.pack()
 
window.mainloop() # 显示

总结

以上所述是小编给大家介绍的Python3 tkinter 实现文件读取及保存功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python的常用模块之collections模块详解

认识模块  什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别:  &nb...

Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

Windows下的Jupyter Notebook 安装与自定义启动(图文详解)

【听图阁-专注于Python设计】小编注:如果不是特殊需要建议安装 Anaconda3 即可,自带Jupyter Notebook 。 手动安装之前建议查看这篇文章:/post/1351...

Python缓存技术实现过程详解

一段非常简单代码 普通调用方式 def console1(a, b): print("进入函数") return (a, b) print(console1(3, 'a...

python中MySQLdb模块用法实例

本文实例讲述了python中MySQLdb模块用法。分享给大家供大家参考。具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对my...

详解如何用django实现redirect的几种方法总结

用django开发web应用, 经常会遇到从一个旧的url转向一个新的url。这种隐射也许有规则,也许没有。但都是为了实现业务的需要。总体说来,有如下几种方法实现 django的 red...