日本語文字列を格納した変数を、パスに使用したい
Pythonにて、ファイル操作を行うGUIを作っています。
ダイアログボックスで指定したフォルダの名前を変数に格納したあと、そのフォルダに対して操作を行うとき、フォルダ名に日本語が含まれているとフォルダ名が文字化けし、以下のようなエラーが発生します。
当該のフォルダはきちんと存在しています。
調べたところ、文字列では
python
1t = u"abc"
のように書けばutf-8型(unicode型?)で変数を扱えるようですが、これをダイアログボックスから取得したフォルダ名にどのように作用させればいいか検討がつきません。
どなたかお詳しい方、ご回答よろしくお願いします。
ソースコード
python
1import tkinter as tk 2import os 3 4path = os.getcwd() 5dir = path 6 7win = tk.Tk() 8win.resizable(False, False) 9 10#中略 11 12fle = filedialog.askdirectory(initialdir = dir, title="保存先フォルダの選択") 13img = "sample.tiff" 14gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 15gray_path = fle + "gray.tiff" 16cv2.imwrite(gray_path, gray) 17 18win.mainloop()
発生しているエラーメッセージ
TIFFOpen X:/~文字化けしたフォルダ名~~~: No such file or directory.
追記
ご指摘いただいた通り、当該のコードを抜粋して記載しました。
メニューからダイアログボックスを開き、指定したファイル名をテキストボックスに挿入し、その文字列を変数fle取得しています。
このファイル名を格納した変数tに日本語が含まれているとき、fleをファイル名に含む部分の操作で上のエラーが発生してしまいます。
補足情報(FW/ツールのバージョンなど)
Windows10
Python 3.8.3
回答3件
あなたの回答
tips
プレビュー