Wxpython 如何阻止在OSX上运行的wxFileDialog将.itlp包视为文件?

Wxpython 如何阻止在OSX上运行的wxFileDialog将.itlp包视为文件?,wxpython,Wxpython,我正在开发一个程序,我需要能够打开一个包含itlp(iTunes LP)的zip文件,然后对其执行一些操作。为此,我在wxPython中使用wxFileDialog,使用适当的通配符仅显示zip文件 问题是,因为itlp是文件夹而不是文件,所以它们仍然显示在“文件”对话框中,但如果您尝试打开它们,它们将被视为文件,而“文件”对话框将返回路径,就像它是文件一样,而不是像文件夹那样导航到它们中。这可能只发生在OSX上,我没有在任何其他平台上尝试过,我模糊地记得基于Unix的OSs比windows更重

我正在开发一个程序,我需要能够打开一个包含itlp(iTunes LP)的zip文件,然后对其执行一些操作。为此,我在wxPython中使用wxFileDialog,使用适当的通配符仅显示zip文件

问题是,因为itlp是文件夹而不是文件,所以它们仍然显示在“文件”对话框中,但如果您尝试打开它们,它们将被视为文件,而“文件”对话框将返回路径,就像它是文件一样,而不是像文件夹那样导航到它们中。这可能只发生在OSX上,我没有在任何其他平台上尝试过,我模糊地记得基于Unix的OSs比windows更重视文件扩展名


因此,我这里的问题是,我能做些什么来隐藏文件对话框中的ITLP,或者让它像对待普通文件夹一样对待它们,而不是文件?

听起来像是试图用文件对话框打开文件。wxPython尽可能地包装本机小部件,因此我猜它的行为方式与普通文件对话框相同。尝试使用加载该对话框的其他程序打开该文件,它的行为可能与此相同。在Windows上,当我需要打开zip文件时,我使用zip程序或Windows内置的程序。文件对话框不会打开它们。

“如何阻止wxFileDialog将文件视为文件?”itlp是一个包含多个文件的文件夹,但它有一个扩展名,即..itlp。这会导致上述问题。我打赌它是一个文件,你只是不知道而已。在UNIX中,所有东西都是一个文件。但说真的,它们是存档文件,操作系统允许您透明地浏览。如果操作系统将它们显示为文件夹,如何将它们从
FileDialog
中筛选出来是一个好问题。感谢robots,我的UNIX知识非常有限。这也是我的问题的一个更好的措辞。很抱歉,我忘了在我的原始问题中说明清楚,我必须让它工作在OSX上,尽管解释非常有用,并说服我应该坚持我当前的解决方案,即在wxFileDialog返回路径后检查所选文件是否正确。干杯,迈克