【发布时间】:2021-12-09 08:31:41
【问题描述】:
我希望在保存日志文件时有一个基于时间的文件名。当我尝试设置默认文件名时,对话框出现一个空白文件名,如下所示。我已经尝试了等效的位置函数调用,它也不起作用。
知道如何让 wx.FileDialog() 设置文件名,以便您只需单击“保存”以使用默认名称保存文件吗?
在 Windows 10 下使用以下版本:
Python 3.8.6(tags/v3.8.6:db45529,2020 年 9 月 23 日,15:52:53)[MSC v.1927 64 位 (AMD64)]
wx.version: 4.1.1 msw (phoenix) wxWidgets 3.1.5
不起作用的代码:
def OnSave(self, event):
default_file = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + ".log"
dlg = wx.FileDialog(self.frame, message = "Save Log Contents",
defaultDir = os.getcwd(),
defaultFile = default_file,
wildcard = "Log files (*.log)|*.log",
style = wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT)
if dlg.ShowModal() == wx.ID_CANCEL:
dlg.Destroy()
return
file_path = dlg.GetPath()
self.window.tc.AppendText("%s Saving log to %s\n" % (datetime.datetime.now(), file_path))
self.window.tc.SaveFile(file_path)
dlg.Destroy()
return True
【问题讨论】:
-
确保您运行的是最新的源代码。如果源代码未保存或调试运行错误的副本,有时会再次出现遗留错误。
-
文件名中不能有
:!重新格式化您的默认文件名。
标签: wxpython