「名前を付けて保存」プロンプトからpython tkinterウィンドウからファイルを保存しようとしています。私はしばらくの間探しましたが、私が探している答えを見つけることができないようです。私は正常に情報をデフォルトの名前でファイルに保存でき、input()でユーザーが入力した名前で保存することもできますが、これは私がやろうとしていることではありません。私は、ユーザーが「名前を付けて保存」をクリックできるようにして、プロンプトが表示されたらファイル名を入力してその名前を保存して、どこでも答えを見つけることができないようにしたい。ここでは、この時点で私のコードは次のとおりです。Python:ユーザー入力に基づいてファイルを保存する
# Import Tkinter
from tkinter import *
import os
import pickle
from tkinter.filedialog import askopenfilename, asksaveasfile
from tkinter.messagebox import *
MainWindow = Tk()
MainWindow.geometry("600x400")
MainWindow.attributes("-alpha", 1)
MainWindow.title(string="Hours Log")
CurrentDirect=os.getcwd()
def FileSaveAs():
fname = asksaveasfile(initialdir=CurrentDirect ,filetypes=(("Text Files", "*.txt"),
("All files", "*.*")))
if fname:
try:
print(fname)
SH = SHVar.get()
SM = SMVar.get()
SAP = SAPVar.get()
EH = EHVar.get()
EM = EMVar.get()
EAP = EAPVar.get()
DM = DMVar.get()
DD = DDVar.get()
DY = DYVar.get()
DE = Description.get("1.0", END)
AP = APVar.get()
with open("filename.txt", 'wb') as f:
pickle.dump([SH, SM, SAP, EH, EM, EAP, DM, DD, DY, DE, AP], f)
except:
showerror("FILE SAVE ERROR", "Error on Saving File!\n'%s'" % fname)
return
私は、「ファイル名.txt」はしかし、どのように私はプロンプトから変数名を取得しない、に保存するファイルの名前であることを理解できますか?
注:このコードにはエラーはありません。プログラムの残りの部分で正常に動作します。
ありがとうございました!私は単純に次の行を変更しました: 'fname = asksaveasfile(... ' open( "filename.txt"、 'wb')with f: ' 〜: ' fname = asksaveasfilename(... ' 'with open(ファイル名+"。txt "、" wb ")f:' これはいつも私を得るsimpeものです。 –