我正在学习本教程,我注意到这个代码片段有一个问题:
def OnOpen(self, e):
"""To open d' files"""
self.dirname = ""
dlg = wx.FileDialog(self, "Choose a file", self.dirname, "", "*.*", wx.OPEN)
if dlg.ShowModal() == wx.ID_OK:
self.filename = dlg.GetFilename()
self.dirname = dlg.GetDirectory()
f = open(os.path.join(self.dirname, self.filename))
self.control.SetValue(f.read())
f.close()
dlg.Destroy()
我正在 Ubuntu 11.10 中运行代码,只要您不尝试从搜索或最近打开的文件功能中选择文件,它就可以按预期工作。 显然,在这些情况下它没有接收目录,因为self.dirname是None。 我想知道 GetFilename 中发生了什么,以及当选择搜索或最近使用的文件时,Linux 如何在对话框中返回文件目录。
对此的任何见解将不胜感激。 此外,如果有任何地方可以找到特定的代码,将不胜感激。 我知道它在我的驱动器上,但我不知道它在什么文件中。
GetPath 不是您要用来获取所选文件的路径和文件名的函数吗?