1

我正在编写本教程,我注意到此代码段存在问题:

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 如何在对话框中返回文件目录。

对此的任何见解将不胜感激。此外,如果有任何地方可以找到特定代码,我们将不胜感激。我知道它在我的驱动器上,但我不知道它在什么文件中。

4

1 回答 1

3

GetPath不是您想要用来获取所选文件的路径和文件名的函数吗?

于 2012-05-01T19:54:10.173 回答