wxPython:导出位图时出现路径问题

wxPython:导出位图时出现路径问题,python,path,wxpython,Python,Path,Wxpython,我有一个模块可以启动一个wxPython应用程序,它从文件中加载一个wx.Bitmap,用作工具栏按钮。它看起来是这样的:wx.Bitmap(“images\\new.png”,wx.Bitmap\u TYPE\u ANY)。当我单独运行该模块时,一切都很好,但是当我尝试从不同目录中的不同模块导入并运行它时,wxPython会引发一个异常。(例外是工具栏内部的一些东西,我认为这只是意味着它没有正确加载位图。) 我该怎么办?“images\new.png”是一个相对路径,所以当加载位图时,它将取决

我有一个模块可以启动一个wxPython应用程序,它从文件中加载一个
wx.Bitmap
,用作工具栏按钮。它看起来是这样的:
wx.Bitmap(“images\\new.png”,wx.Bitmap\u TYPE\u ANY)
。当我单独运行该模块时,一切都很好,但是当我尝试从不同目录中的不同模块导入并运行它时,wxPython会引发一个异常。(例外是工具栏内部的一些东西,我认为这只是意味着它没有正确加载位图。)

我该怎么办?

“images\new.png”是一个相对路径,所以当加载位图时,它将取决于cur dir是什么 所以要么你设置cur dir

os.chdir("location to images folder")
或 具有相对于您的程序加载的功能,例如

def getProgramFolder():
    moduleFile = __file__
    moduleDir = os.path.split(os.path.abspath(moduleFile))[0]
    programFolder = os.path.abspath(moduleDir)
    return programFolder

bmpFilePath = os.path.join(getProgramFolder(), "images\\new.png")
建议使用名为
img2py.py
的工具将图标文件嵌入Python模块。此工具随wxPython发行版提供


这是一个。

使用wxPython制作应用程序时的标准做法吗?我会说,这是任何应用程序中的标准做法,你想使用相对路径,在某些地方你必须知道这个相对路径是什么,否则你可以将图像嵌入到应用程序中,但在开发过程中会失去灵活性,