【问题标题】:Python kivy filechooser reads wrong pathPython kivy 文件选择器读取错误的路径
【发布时间】:2013-11-15 14:26:48
【问题描述】:

我正在尝试将 Kivy 用作我的 python 应用程序的 GUI,它需要从文件系统中读取文件。 但是,在某些情况下,当我尝试为文本字段的文本设置读取路径时,kivy 文件选择器读取了错误的路径或没有导致 IndexError。 我使用默认示例来读取从http://kivy.org/docs/api-kivy.uix.filechooser.html 学习的文件 我的应用程序的相关部分在此函数中,其中添加了异常处理作为处理此问题的不好方法:)

 def load(self, path, filename):
    '''
    this will load the file and dismiss the dialog
    '''
    print "Loading file..."

    print "filename:",filename
    print "path:",path
    try:
        self.selected_file = filename[0]
        self.file_text_input.text = self.selected_file
        self.dismiss_popup()
    except IndexError as ie:
        print "Something made a boo-boo...try again"+str(ie)
        self.dismiss_popup()
        self.show_popup("ERROR","Somehow I couldn't load the file:\nCheck the permissions or move it to other place")

self.show_popup() 只是一个辅助函数,它显示一个带有 set 函数参数的弹出窗口。

基本错误是 filename[0] 会抛出一个 IndexError 因为它没有读取正确的路径。 我正在使用带有 python2.7 的 Linux,有时当我在我的主文件夹中选择一个文件时,文件名变量不存储任何内容,而路径变量则神秘地存储一个随机文件夹,例如 /media、/opt 等。

有人遇到过这个问题吗?

【问题讨论】:

    标签: kivy


    【解决方案1】:

    我发现了为什么处理不正确。 所有的故障都是Kivy的原因造成的

    FileChooserListView

    ,它可以通过列表单击文件夹和文件,但它也可以在每个列表元素(即目录)的开头添加一个小“>”符号。 我意识到,当我使用这些“>”符号时,我会得到错误的路径,但如果我总是点击目录的列表元素,那么一切正常。 然而,那个小 '>' 不能被禁用(现在),所以最好和最快的替代解决方案是使用

    FileChooserIconView

    相反! 现在一切都很好:)

    【讨论】:

      猜你喜欢
      • 2019-02-01
      • 1970-01-01
      • 2022-01-23
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2016-10-01
      • 2012-06-06
      相关资源
      最近更新 更多