2017-09-26 9 views
0

tkinterのasksaveasfile関数を使用すると、そのフォルダに名前がつけられたファイルを保存するのではなく、フォルダがinadvertenlyで開きます。tkinter asksaveasfile関数がフォルダを開く

import tkinter.tkFileDialog 

f = tkFileDialog.asksaveasfile(mode='w', defaultextension=".txt") 

やファイル構造など:

デスクトップが初期ディレクトリおよび例は、そのディレクトリ内のフォルダ

の場合です

Desktop (initial directory) 
| ----------> example (folder) 

のコード例を考えると

どこにテキスト "example"を入力しようとすると、そのファイルを作成する代わりにexampleという名前のフォルダが開きます。

どのような考えですか?

答えて

0

filedialogのデフォルトおよび予想される動作は、特定のフォルダにアクセスするためのパスを貼り付けることができるため、ここで達成したいことと競合します。

1つのオプションは、デフォルトのファイル名に拡張子を提供することができます

f = tkFileDialog.asksaveasfile(mode='w', 
           initialfile='.txt', # or even a default name 
           defaultextension='.txt') 
+0

それもファイル名エントリに.TXT示さなかったとして残念ながら、「.TXT」を追加すると、(動作していないようでしたセクション) –

+0

同じ構文を使用しましたか?私は 'filedialog'を使ってpython2や3で動作させることができます。おそらくプラットフォーム固有の動作ですか? – PRMoureu

+0

これはMacOSではうまく動作することが分かりましたが、Windowsではそれほどうまくいきません –

関連する問題