python使用Tkinter库制作文件和文件夹创建功能

在下这厢有礼了


文章目录

  • python使用Tkinter库制作文件和文件夹创建功能
  • 第一节 学习Tkinter库
  • 第二节 开始有目的的做东西
  • 第三节 代码设计
  • 第四节 优化代码让看起来像个程序员写的


第一节 学习Tkinter库

python 版本 Python 3.7.1 Tkinter是自带的库

大概花费时间:一周左右,抽空学习的知识分享。

网上有很多的Tkinter库的讲解博客和视频,都挺不错,基础部分就可以很快掌握;


博客我参考: 主要参考 目录的查询

Tkinter网站:effbot.org/tkinterbook/tkinter-index.htm#class-reference (复制粘贴到网址上就可以)官网是学习最好的一手资料。

第二节 开始有目的的做东西

我的目标:是模仿window的文件管理,去创建一个文件和对应的.md文件,并且在其中写上一句话。

根据要求,我需要做如下的设计思路:

  1. 目录的查询
  2. 目录的文件夹和文件的添加
  3. 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()

图片提供:

显示结果

python Tkinter 文件管理器 tkinter打开文件夹_python

创建目录演示:选择目录,添加文件夹123和文件123

python Tkinter 文件管理器 tkinter打开文件夹_创建文件_02

然后查看文件夹create_file中确实有了123的文件夹和123.md文件,并且文件中有了我们写的flag

python Tkinter 文件管理器 tkinter打开文件夹_python_03

第四节 优化代码让看起来像个程序员写的

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()