本記事(記事カラム)には広告が含まれています。

ファイルを選択して、ファイルパスを表示|Python 練習 11

人気ブログランキングテキスト
記事内に広告が含まれています。
人気ブログランキングテキスト

tkinter で、ファイルを選択するということをやってみます。選択したら、そのファイルのファイルパスを表示して、選択されたことを確認します。

DMM FX広告(差し込みタイプ)
広告(PR)|自分の投資スタイルを見つける。※タップで開閉
広告(PR)

DMM FXは、「最初の一歩を踏み出す場」として選ばれることがある

口座を開いてみた。取引してみた。思ったよりも難しかった。──そんな経験が、投資との距離感を知るきっかけになることもあります。


サービスを通じて、自分の投資スタイルを見つける。それは、確信ではなくても構いません。「試してみた」という実感が、次の選択の材料になることもあるからです。


DMM FXに関する詳細は、以下の広告(PR)リンクをご覧いただけます。


👇こちらは広告(PR)リンクバナーです

DMMFX

人気ブログランキングテキスト

実行結果

実際に書いたコード

import tkinter as tk
from tkinter import filedialog

# ウィジェットの作成と配置
root = tk.Tk()
root.title("ファイルパスを表示")
root.geometry("400x200")

btn = tk.Button(root, text="ファイルを選択")
btn.pack(pady=10)

filename_label = tk.Label(root, text="ファイル: 未選択")
filename_label.pack(pady=10)


# コールバック関数の定義
def check_bom():
    path = filedialog.askopenfilename(filetypes=[("All files", "*.*")])
    if not path:
        return

    filename_label.config(text=f"ファイル: {path}")


# commandを設定する
btn.config(command=check_bom)


# メインループ
root.mainloop()

コードの解説

filedialog を import する理由

from tkinter import filedialog

この1行は、 「ファイル選択ダイアログを使えるようにするため」 だけの import です。

Tkinter 本体(tkintertk)には、 ファイル選択ダイアログは含まれていません。

ファイル選択は 専用モジュール である filedialog が担当します。

filedialog が提供する機能

filedialog は、OS 標準のファイル選択ウィンドウを開くための関数をまとめたモジュールです。

特に重要なのは次の3つ。

  • askopenfilename() → ファイルを1つ選ぶ
  • askopenfilenames() → 複数ファイルを選ぶ
  • askdirectory() → フォルダを選ぶ

このコードで使っているのは askopenfilename()

askopenfilename() の動き

path = filedialog.askopenfilename(filetypes=[("All files", "*.*")])

この1行で、 ファイル選択ダイアログが開き、選んだファイルの絶対パスが返る という動きになります。

例: C:/Users/user/Desktop/test.txt

キャンセルされた場合は空文字 "" が返るため、 このコードのように

if not path:
    return

で処理を中断します。

ファイルを選んだあとに .config() で書き換える

ファイル選択ダイアログでパスが返ってきたら、そのパスをラベルに反映します。

filename_label.config(text=f"ファイル: {path}")

この1行で起きていること

  • filename_label というラベルの
  • text というプロパティを
  • f"ファイル: {path}" という文字列に置き換える

つまり、 ラベルの表示内容を「選んだファイルのパス」に更新している だけです。

f文字列の役割

f"ファイル: {path}" は Python の f-string で、 { } の部分に指定した変数の中身がそのまま入ります。

例: path = "C:/test/a.txt" の場合

"ファイル: C:/test/a.txt"

という文字列に変換され、そのままラベルに表示されます。

まとめ

結論
  • from tkinter import filedialogファイル選択ダイアログを使うための import
  • filedialog は Tkinter 本体とは別モジュール
  • askopenfilename() がファイル選択ウィンドウを開く
  • 選んだファイルの絶対パスが返る
  • キャンセル時は空文字

人気ブログランキング ブログパーツ

もしも


人気ブログランキングバナー

人気ブログランキング

人気ブログランキングテキスト