Python の tkinter を使って、フォルダ内のファイルのビューアーを作るスクリプトについてまとめておきます。
クリックすると、ファイルを開く等の処理が可能です。
以下の環境で動作確認をしています。
環境:Windows パソコン, Python 3, Anaconda
使い方
① デスクトップ等にフォルダを作り、folder_viewer1.py 等のテキストファイルを作成してください。
② 上記のテキストファイルに下記のサンプルスクリプトをコピー&ペーストで貼りつけて、保存してください。
③ ①のフォルダ内に “data1” というフォルダを作成し、中にテキストファイル等のファイルを入れてください。
④ コマンドプロンプト又は Anaconda のプロンプトから、folder_viewer1.py を実行してください。
⑤ フォルダ data1 内のファイルが参照されるようになると思います。ファイルをクリックしてみてください。ファイル名が表示されます。
★ うまく動いたら、ファイル名を読み込んだ後の処理を加えてみてください。
たとえば show_file1( self ) としている関数内でファイル名 file1 が取得できています。
path1 + file1 とすれば、フルパスが取得できます。
このファイルに対し、たとえば、テキストファイル、csv ファイル、jpg ファイルなどを読み込んで表示させるなど、コピー&ペーストの感覚で、好きな処理を追加していくことができると思います。
まとめ
フォルダ内を参照して、フォルダ内のファイルを参照するスクリプトについてまとめました。
必要最小限のプログラムとしていますので、コピー&ペーストで流用してみてください。
なお、このビューアーの応用例について、下記の関連リンクにまとめています。関心があるようでしたら参照してください。
関連リンク
・ Python tkinter サンプル 【最短3行&最速3ステップ】
・ Python で Just the Two of Us 進行 【コード進行】
・ 指定範囲を繰り返し再生するプレーヤー【Python】
・ バイナリ・ビューア 【Python】
・ 【Python】 表を表示する方法 サンプルコード 【tkinter】
サンプルスクリプト
import os
import glob
import tkinter as tk1
def show_file1( event ):
n1 = listbox1.curselection()
file1 = listbox1.get( n1[0] )
label1["text"] = file1
return
frame1 = tk1.Tk()
frame1.title( 'folder_viewer v0.1' )
frame1.geometry( "300x200+100+100" )
label1 = tk1.Label( frame1, bg="white", anchor="w" )
label1.place( x=10, y=5, width=280 )
listbox1 = tk1.Listbox( frame1, selectmode = 'single' )
listbox1.place( x=10, y=30, width=260, height=150 )
scrollbar1 = tk1.Scrollbar(frame1, orient = 'v', command = listbox1.yview)
scrollbar1.place( x=270, y=30, height=150 )
listbox1.configure( yscrollcommand = scrollbar1.set )
path1 = os.path.dirname(__file__) + "\\data1\\"
list0 = glob.glob( path1 + "*.*" )
for list1 in sorted( list0 ):
list2 = os.path.split( list1 )[1]
listbox1.insert('end', list2 )
listbox1.bind('<<ListboxSelect>>', show_file1)
frame1.mainloop()