PYTHON

【python】tkinterを使ってファイルを選択する方法を解説

2021-11-18

こんな方におすすめ

  • pythonを使ってデータ処理している、したい人
  • pythonを実行後にファイルを選択して処理したい人

どうも、わやです。
皆さん、pythonを使って自動化してますか?

pythonを使うたびに、毎回プログラムの中にファイルリンクを書き込んで実行している人いるんじゃないでしょうか?

#こんな風に書いていませんか?
save_dir"C:\user\・・・"

でもこんな書き方していたら、使用したいファイルが変わるたびに、プログラムコードを書き換えて使用しなくてはいけません。

わや

それはさすがに手間ですし、エラーの原因になります。

そこで今回は、こんな書き方はしなくて済むように、プログラムを実行後にファイルを選択する方法を解説します。
結論から言っちゃうと、pythonのtkinterライブラリを使用します。

人気記事

tkinterとは

tkinterってなんだ?って疑問があると思います。
ざっくり簡単に説明すると、ウィンドウという画面(GUI)を作れるようになります。

pythonでウィンドウを使いたいときによく利用するので、これをきっかけに色々勉強してみてください。

今回はこのtkinterを使って、ウィンドウ上でプログラムで使用するファイルを選択できるようにしたいと思います。

プログラム

インポート

それでは早速プログラムを作成します。
まずはpythonでは必須のライブラリのインポート作業です。

#インポート
import tkinter
from tkinter import filedialog
わや

インポート作業は忘れずにやりましょう

ファイル選択

そして次は、インポートしたtkinterを使用して、プログラム中で使用するファイルを選択するコードを書きます。

わや

早速、ファイル選択のコードを説明します。

#ウィンドウで最初に立ち上げるディレクトリを指定
idir = 'C:/Users/xxxx/Desktop'
file_path = tkinter.filedialog.askopenfilename(initialdir = idir)

これだけで、プログラム中で使用するファイルを選択できます。

解説

2行目:ここでウィンドウを立ち上げたときの最初のディレクトリを選択できます。プログラムで使用するファイルがあるディレクトリを選択するといいと思います。

3行目:ウィンドウで選択したファイルのリンクをfile_pathに格納します。

応用

応用です。

先程のコードだけだと1つのファイルしか選択できません。

せっかくの自動化プログラムなのに、一個ずつしか選択できないのでは恩恵が少ないですよね。

じゃあどうやるのかというと、先程のコードを以下のように変更してください。

idir = 'C:/Users/xxxx/Desktop'#ウィンドウで最初に立ち上げるディレクトリを指定
file_path = tkinter.filedialog.askopenfilenames(initialdir = idir)

何が変わったかわかるでしょうか?

二行目のaskopenfilenameのあとにsがついただけです笑
ですがこれで複数ファイルを選択できるようになります。

結論:tkinterを使えばプログラム実行後にファイルを選択できる

pythonでプログラム実行後にファイルを選択できる方法を解説しました。

pythonは非常に便利でいろいろな機能をライブラリを入れるだけで利用できる最高のツールです。

でもその便利なツールも使う人が知らないことはできません。
使いこなすためにも日々勉強して行くことが大事だと思いますので、今後もこのような記事を書いていきます。

皆さんのpythonライフの助けになればと思います。
今後もよろしくおねがいします。

  • この記事を書いた人

わや

大手メーカーで働く30歳研究職。機械設計やったりプログミングやったりと結構マルチタイプ エンジニア向けの情報を発信するので、記事を見て気に入ってもらえたら嬉しい。

-PYTHON