0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Python日記#1

Last updated at Posted at 2022-07-31

python(Tkinter)プログラム

image.png

上記のようなプログラムを作成しました。
下記にコードを共有します。


    from msilib.schema import Class
    from tkinter import *
    import tkinter
    import os
    from tkinter import filedialog
    import pathlib

    # 画面作成
    root = tkinter.Tk()
    root.geometry('600x500') # 横x縦
    root.title('テキストファイル出力')
    
    def folder_click():
        dir = 'C:\\'
        fld = filedialog.askdirectory(initialdir = dir)
        txt_1.delete(0, tkinter.END) # 削除の処理 
        txt_1.insert(0,fld)
    def create_text():
        file_name = txt_2.get()
        path = txt_1.get() +'/'+ file_name +'.txt' # 選択したフォルダのパスを受け取る。
        f = open(path, 'w')
        f.write(txt_3.get())
        f.close()
    def folder_get():
        path = txt_1.get()
        folder_path = 'folder.txt' 
        f = open(folder_path, mode='w')
        GetFolderFileNames(path, 0, f)
        
    def GetFolderFileNames(path, kaiso, f):
        files = pathlib.Path(path).glob('*')#その階層のフォルダやファイルを取得
        for file in files: # ループしてフォルダ内にファイルをテキストに記載する。
            output = '\t' * kaiso + file.name + '\n'
            f.write(output)
        # プログラム5|フォルダの場合、その下の階層のフォルダやファイルをGetFolderFileNames(プログラム6)を呼び出す
        if file.is_file() == False:
            GetFolderFileNames(file, kaiso+1, f)
    # ラベル
    lbl_1 = tkinter.Label(text='フォルダ選択')
    lbl_1.place(x=100, y=80) 
    
    lbl_2 = tkinter.Label(text='ファイル名入力')
    lbl_2.place(x=100, y=110)
    
    lbl_3 = tkinter.Label(text='テキスト入力')
    lbl_3.place(x=100, y=140)
    
    # テキストボックス
    txt_1 = tkinter.Entry(width=30)
    txt_1.place(x=180, y=80)
    
    txt_2 = tkinter.Entry(width=30)
    txt_2.place(x=180, y=110)
    
    txt_3 = tkinter.Entry(width=30)
    txt_3.place(x=180, y=140,height=100)
    
    # ボタン
    btn = tkinter.Button(root, text='フォルダ選択', command=folder_click)
    btn.place(x=210, y=250)
    
    # ボタン
    btn = tkinter.Button(root, text='テキストファイル作成', command=create_text)
    btn.place(x=210, y=290)
    
    # ボタン
    btn = tkinter.Button(root, text='フォルダ一覧取得', command=folder_get)
    btn.place(x=210, y=330)
    
    root.mainloop() # アプリを起動

以上になります。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?