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 に答える