python使用Tkinter库制作文件和文件夹创建功能
在下这厢有礼了
文章目录
- python使用Tkinter库制作文件和文件夹创建功能
- 第一节 学习Tkinter库
- 第二节 开始有目的的做东西
- 第三节 代码设计
- 第四节 优化代码让看起来像个程序员写的
第一节 学习Tkinter库
python 版本 Python 3.7.1 Tkinter是自带的库
大概花费时间:一周左右,抽空学习的知识分享。
网上有很多的Tkinter库的讲解博客和视频,都挺不错,基础部分就可以很快掌握;
博客我参考: 主要参考 目录的查询
Tkinter网站:effbot.org/tkinterbook/tkinter-index.htm#class-reference (复制粘贴到网址上就可以)官网是学习最好的一手资料。
第二节 开始有目的的做东西
我的目标:是模仿window的文件管理,去创建一个文件和对应的.md文件,并且在其中写上一句话。
根据要求,我需要做如下的设计思路:
- 目录的查询
- 目录的文件夹和文件的添加
- Tkinter的可视化窗口设计
其实,核心就是目录的查询,其他的都是简单的,对我来说。
第三节 代码设计
import os
from tkinter import *
from tkinter.filedialog import askdirectory
import tkinter.messagebox
import tkinter as tk
#目录查询
def selectPath():
path_ = askdirectory()
path.set(path_)
#目录文件夹和文件添加
def create_file():
print(folder.get()) #接收用户输入数据打印
print(path.get()) #接收用户输入数据打印
dirs = path.get() + "\\"+folder.get()
if not os.path.exists(dirs):
os.makedirs(dirs)
file = open(dirs+'\\'+folder.get()+".md","w")
file.write("file name is "+folder.get()+" author:Applezhang")
#弹窗文件名创建成功
tkinter.messagebox.showinfo('提示','文件名创建成功')
else:
#弹窗文件文件创建失败
tkinter.messagebox.showerror('提示','文件名存在,请换一个')
root = Tk()
root.title('创建文件v1.0')
root.geometry('400x380')
# 画布添加图片(为了好看点)
canvas = tk.Canvas(root, height=400, width=470)
image_file = tk.PhotoImage(file='11.gif')
image = canvas.create_image(0,0, anchor='nw', image=image_file)
canvas.pack(side='top')
path = StringVar() #存储用户输入信息
folder = StringVar() #存储用户输入信息
Label(root,text = "目标路径:").place(x=50, y= 250)
Entry(root, textvariable = path).place(x=110, y= 250)
Button(root, text = "路径选择", command = selectPath).place(x=265, y= 250)
Label(root,text = "文件名:").place(x=50, y= 300)
Entry(root,textvariable = folder).place(x=110, y= 300)
Button(root, text = "确定", command = create_file).place(x=265, y= 300)
root.mainloop()
图片提供:
显示结果
创建目录演示:选择目录,添加文件夹123和文件123
然后查看文件夹create_file中确实有了123的文件夹和123.md文件,并且文件中有了我们写的flag
第四节 优化代码让看起来像个程序员写的
import os
import tkinter as tk
from tkinter import *
import tkinter.messagebox
from tkinter.filedialog import askdirectory
class createFile(object):
"""
设计创建文件和文件夹
"""
def __init__(self,master):
master.title('创建文件v1.0')
master.geometry('400x380')
# welcome image
canvas = tk.Canvas(master, height=400, width=470)
self.image_file = tk.PhotoImage(file='11.gif')
self.image = canvas.create_image(0,0, anchor='nw', image=self.image_file)
canvas.pack(side='top')
self.path = StringVar()
self.folder = StringVar()
Label(master,text = "目标路径:").place(x=50, y= 250)
Entry(master, textvariable = self.path).place(x=110, y= 250)
Button(master, text = "路径选择", command = self.selectPath).place(x=265, y= 250)
Label(master,text = "文件名:").place(x=50, y= 300)
Entry(master,textvariable = self.folder).place(x=110, y= 300)
Button(master, text = "确定", command = self.create_file).place(x=265, y= 300)
def selectPath(self):
path_ = askdirectory()
self.path.set(path_)
def create_file(self):
#print(self.folder.get()) #捕捉用户输入信息
#print(self.path.get()) #捕捉用户输入信息
dirs = self.path.get() + "\\"+self.folder.get()
if not os.path.exists(dirs):
os.makedirs(dirs)
file = open(dirs+'\\'+self.folder.get()+".md","w")
file.write("file name is "+self.folder.get()+" author:Applezhang")
#弹窗文件名创建成功
tkinter.messagebox.showinfo('提示','文件名创建成功')
else:
#弹窗文件文件创建失败
tkinter.messagebox.showerror('提示','文件名存在,请换一个')
def main():
root = Tk()
app = createFile(root)
root.mainloop()
if __name__ == "__main__":
main()