質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Q&A

解決済

1回答

3627閲覧

Tkinterでファイル参照を行おうとした時のエラー

B-Hirosuke

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

0グッド

0クリップ

投稿2018/10/15 11:00

編集2018/10/15 11:35

前提・実現したいこと

現在、Tkinterでファイル参照ができるGUIアプリを作成しています。
このサイトを参考にしているのですが、なぜかエラーが発生してしまいます。

OSは、 macOS High Sierra 10.13.6
開発環境は、 Python3.6.2(Anaconda3-5.0.0)
を使用しています

Tkinterは、最近勉強し始めたばかりなので、全然わかりません。

よろしくお願いします。

発生している問題・エラーメッセージ

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'File types array cannot be empty' *** First throw call stack: ( 0 CoreFoundation 0x00007fff2a8482db __exceptionPreprocess + 171 1 libobjc.A.dylib 0x00007fff519ebc76 objc_exception_throw + 48 2 CoreFoundation 0x00007fff2a8d9d7d +[NSException raise:format:] + 205 3 AppKit 0x00007fff2845b6e1 -[NSSavePanel setAllowedFileTypes:] + 154 4 libtk8.6.dylib 0x00000001098119f5 Tk_GetOpenFileObjCmd + 1941 5 libtcl8.6.dylib 0x00000001095c2616 Tcl_EvalObjv + 342 6 _tkinter.cpython-36m-darwin.so 0x000000010706d5d2 Tkapp_Call + 210 7 python 0x00000001065b5ea2 PyCFunction_Call + 66 8 python 0x000000010668c046 _PyEval_EvalFrameDefault + 49702 9 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 10 python 0x000000010668dcec fast_function + 348 11 python 0x000000010668d8de call_function + 222 12 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 13 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 14 python 0x000000010668dcec fast_function + 348 15 python 0x000000010668d8de call_function + 222 16 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 17 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 18 python 0x0000000106679469 builtin_exec + 345 19 python 0x00000001065b64b8 _PyCFunction_FastCallDict + 200 20 python 0x000000010668d892 call_function + 146 21 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 22 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 23 python 0x000000010668dcec fast_function + 348 24 python 0x000000010668d8de call_function + 222 25 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 26 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 27 python 0x000000010668dcec fast_function + 348 28 python 0x000000010668d8de call_function + 222 29 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 30 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 31 python 0x000000010668dcec fast_function + 348 32 python 0x000000010668d8de call_function + 222 33 python 0x000000010668b622 _PyEval_EvalFrameDefault + 47106 34 python 0x000000010668dc4f fast_function + 191 35 python 0x000000010668d8de call_function + 222 36 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 37 python 0x000000010668dc4f fast_function + 191 38 python 0x000000010668d8de call_function + 222 39 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 40 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 41 python 0x000000010657edf6 function_call + 118 42 python 0x000000010653bcde PyObject_Call + 62 43 python 0x000000010668b781 _PyEval_EvalFrameDefault + 47457 44 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 45 python 0x000000010668dcec fast_function + 348 46 python 0x000000010668d8de call_function + 222 47 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 48 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 49 python 0x000000010668dcec fast_function + 348 50 python 0x000000010668d8de call_function + 222 51 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 52 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 53 python 0x000000010668e433 _PyFunction_FastCallDict + 355 54 python 0x00000001065346b0 _PyObject_FastCallDict + 320 55 python 0x000000010655b9d8 method_call + 136 56 python 0x000000010653bcde PyObject_Call + 62 57 python 0x000000010668b781 _PyEval_EvalFrameDefault + 47457 58 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 59 python 0x000000010668dcec fast_function + 348 60 python 0x000000010668d8de call_function + 222 61 python 0x000000010668b572 _PyEval_EvalFrameDefault + 46930 62 python 0x000000010667ebeb _PyEval_EvalCodeWithName + 427 63 python 0x00000001066d7e1c PyRun_FileExFlags + 252 64 python 0x00000001066d75ce PyRun_SimpleFileExFlags + 366 65 python 0x00000001066fd456 Py_Main + 3718 66 python 0x000000010652c68d main + 509 67 libdyld.dylib 0x00007fff52605015 start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException Abort trap: 6

該当のソースコード

python

1# モジュールのインポート 2import os, tkinter, tkinter.filedialog, tkinter.messagebox 3 4# ファイル選択ダイアログの表示 5root = tkinter.Tk() 6root.withdraw() 7fTyp = [("","*")] 8iDir = os.path.abspath(os.path.dirname(__file__)) 9tkinter.messagebox.showinfo('○×プログラム','処理ファイルを選択してください!') 10file = tkinter.filedialog.askopenfilename(filetypes = fTyp,initialdir = iDir) 11 12# 処理ファイル名の出力 13tkinter.messagebox.showinfo('○×プログラム',file)

補足情報(FW/ツールのバージョンなど)

Tkinterのバージョン

>>> tkinter.TkVersion 8.6

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hayataka2049

2018/10/15 11:24

開発環境は何ですか? また、プログラムはどのように実行していますか?
B-Hirosuke

2018/10/15 11:30

すみません。書き忘れていました。編集で追加しました。ターミナルで python <ファイル名>.py で実行しています。
hayataka2049

2018/10/15 11:33

なるほど、わかりました。エラーはそれがすべてですか? 他にもあれば、python ***.py以降に出るものをすべて掲載しておいてください
B-Hirosuke

2018/10/15 11:36

追加しました。お願いします。
guest

回答1

0

ベストアンサー

OSXとtkinterの組み合わせはタチの悪いバグでドハマりすることがあるようです。

Python - Pythonでtkinterに関数を用いたときのエラー(104984)|teratail


↓検索して出てきたもの。状況が似ている。質問文のコードだとfiletypes = fTypを消すと改善するかもしれません(ただし、しないかもしれません。あまり期待しないでください)。

libc++abi.dylib: terminating with uncaught exception of type NSException · Issue #5 · mortcanty/CRCPython · GitHub

投稿2018/10/15 11:49

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

B-Hirosuke

2018/10/15 11:53

動きました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問