Bir 'Farklı Kaydet' komutuyla bir python tfteker penceresinden bir dosyayı kaydetmeye çalışıyorum. Bir süredir aradım ve aradığım cevabı bulamıyorum. Bilgileri varsayılan bir ada sahip bir dosyaya başarılı bir şekilde kaydedebilir ve hatta girdi() aracılığıyla kullanıcı girdilerinin adını kullanarak kaydedebilirim, ancak bu, yapmaya çalıştığım şey değil. Kullanıcının 'Farklı Kaydet' seçeneğini tıklayabilmesini istiyorum, ardından bilgi geldiğinde dosya adını giriyor ve bu isim olarak kaydediyor, sadece herhangi bir yerde bir cevap bulamıyorum. İşte bu noktada kodum: Ben isteminden değişken adı kazanmak nasılPython: Kullanıcı girdisine bağlı olarak bir dosya kaydetme
# 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
ben "filename.txt" Ancak kaydetmek için dosyanın adıdır anlıyoruz?
NOT: Bu kodda hata yok, programımın geri kalanıyla sorunsuz çalışıyor.
Bu işe yaradı, teşekkürler! Ben sadece gelen satırları değiştirildi: 'fname asksaveasfile (...' 'open ("dosyaadı.txt" ile,) 'wb' f olarak =:' için: 'fname' ... (asksaveasfilename = 'açık (dosya adı +". Txt "," wb ") ile f:' Her zaman bana gelen simpe olanlar. –