python使用Tkinter庫製作文件和文件夾創建功能

python使用Tkinter庫製作文件和文件夾創建功能

在下這廂有禮了

第一節 學習Tkinter庫

python 版本 Python 3.7.1 Tkinter是自帶的庫

大概花費時間:一週左右,抽空學習的知識分享。

網上有很多的Tkinter庫的講解博客和視頻,都挺不錯,基礎部分就可以很快掌握;

視頻(免費)我推薦:http://www.php.cn/course/628.html 看完後就基本懂得了如何去學習Tkinter的庫

博客我參考:https://blog.csdn.net/zjiang1994/article/details/53513377 主要參考 目錄的查詢

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

圖片提供:

顯示結果

在這裏插入圖片描述

創建目錄演示:選擇目錄,添加文件夾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()
    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章