田舎社会人のいろいろ学習記

Python、英語、その他いろいろ

【tkinter】filedialogの使い方【Python】

tkinterで利用できるfiledialogの使い方を、実際にコードを書きながらまとめました。

【スポンサーリンク】

filedialogの概要

filedialogはファイルを選択して開く、または名前を付けてファイルを保存するためのダイアログを表示するモジュールです。ここでは、ファイルを選択して開く場合について記載します。

filedialogモジュールを使用すると、以下の様なダイアログを用いたファイル選択を実装することが可能になります。

f:id:vigilantPotato:20210401000923p:plain

filedialogの基本

インポート

tkinter.filedialogをインポートし、filedialogモジュールのaksopenfilename関数を用いることで、ファイルの選択ダイアログ画面を表示させることができます。

import tkinter.filedialog
f = tkinter.filedialog.askopenfilename()
f:id:vigilantPotato:20210401000923p:plain

ファイルを選択して「開く」をクリックすると、ファイルのフルパスを返します。 また、「キャンセル」をクリックした場合はNoneを返します。

オプション

  1. title:ダイアログのタイトル
  2. initialdir:ダイアログ表示時の表示フォルダ
  3. initialfile:ダイアログ表示時の選択ファイル
  4. filetypes:選択するファイルの拡張子を指定
  5. multiple:Trueで複数ファイルの選択が可能

記述例

選択するファイルの拡張子を指定

filetypesオプションを設定することで、選択するファイルの拡張子を指定できます。

import tkinter.filedialog

f = tkinter.filedialog.askopenfilename(
    title = "select PDF file",              #タイトルの設定
    filetypes = [("PDF files", "*.pdf")]    #拡張子を指定
)
f:id:vigilantPotato:20210401001559p:plain

選択できるファイルの拡張子が、PDFに指定されていることがわかります。

複数ファイルを選択

multipleオプションをTrueにすることで、複数のファイル選択が可能になります。

import tkinter.filedialog

f = tkinter.filedialog.askopenfilename(
    title = "select PDF files",             #タイトルの設定
    filetypes = [("PDF files", "*.pdf")],   #拡張子を指定
    multiple = True,                        #複数ファイル選択
)

print(f)
f:id:vigilantPotato:20210401001008p:plain

Shiftキーを押すことで複数ファイルの選択が可能になります。 選択した全てのファイルのフルパスがタプルの形で返されます。

('C:/Users/xxx/Desktop/aaa.pdf', 'C:/Users/xxx/Desktop/bbb.pdf', 'C:/Users/xxx/Desktop/ccc.pdf')

【スポンサーリンク】