前回はPythonのGUIツール作成ライブラリであるTKinterを使ったファイル選択処理を実装する方法について紹介しました。
今回はそれの続きでファイル選択処理で読み込んだテキストファイル(.txt)をTkinter上に出力する方法について紹介したいと思います
前回の記事
→【Python/tkinter】GUIツールでファイル選択処理を実装する
Tkinterでテキストファイル出力ツールを作る
# Tkinterのライブラリを取り込む
import tkinter
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from tkinter import messagebox
import os
# ファイルの参照処理
def click_refer_button():
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
filepath = filedialog.askopenfilename(filetypes = fTyp, initialdir = iDir)
file_path.set(filepath)
# 出力処理
def click_export_button():
path = file_path.get()
if path[-4:] == '.txt':
f = open(path, encoding="utf-8")
text_data = f.read()
textBox.insert(END, text_data)
else:
textBox.insert(END, '\nファイルがテキストファイルではありません')
if __name__ == '__main__':
# ウィンドウを作成
root = tkinter.Tk()
root.title("hello world") # アプリの名前
root.geometry("500x500") # アプリの画面サイズ
# Frame1の作成
frame1 = ttk.Frame(root, padding=10)
frame1.grid()
# 「ファイル」ラベルの作成
s = StringVar()
s.set('ファイル名:')
label1 = ttk.Label(frame1, textvariable=s)
label1.grid(row=0, column=0)
# 参照ファイルのパスを表示するテキストボックスの作成
file_path = StringVar()
filepath_entry = ttk.Entry(frame1, textvariable=file_path, width=50)
filepath_entry.grid(row=0, column=1)
# 参照ボタンの作成
refer_button = ttk.Button(frame1, text=u'参照', command=click_refer_button)
refer_button.grid(row=0, column=2)
# Frame2の作成
frame2 = ttk.Frame(root, padding=10)
frame2.grid()
# テキスト出力ボタンの作成
export_button = ttk.Button(frame2, text='ファイルの中身を出力', command=click_export_button, width=20)
export_button.grid(row=0, column=0)
# テキスト出力ボックスの作成
textboxname = StringVar()
textboxname.set('\n\n出力内容 ')
label3 = ttk.Label(frame2, textvariable=textboxname)
label3.grid(row=1, column=0)
textBox = Text(frame2, width=50)
textBox.grid(row=2, column=0)
# ウィンドウを動かす
root.mainloop()
実行すると↓のような画面が起動します
これをいろいろと応用すれば,csvの中身を読み込んでDBにインサートしたり、webスクレピングした内容を出力するツールとか変換ツールが作れるのではないでしょうか
関連記事:【Python】Tkinterで定期実行処理を実装する
関連記事:【Python】Tkinterで現在時刻を表示する機能を実装する
コメント
[…] ミナピピンの研究室【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツー…https://tkstock.site/2020/02/11/python-tkinter-%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab-%e8%aa%ad%e3%81%bf%e8%be%bc%e […]
[…] 関連記事:【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツールを作ってみた […]
[…] 関連記事:【Python/tkinter】ファイルを読み込んで中身をテキストボックスに出力するGUIツールを作ってみた […]