我有一个数据文件,需要在程序执行时加载。我正在使用以下函数访问我的数据文件:-你知道吗
def resource_path(relativePath):
try:
# PyInstaller stores data files in a tmp folder refered to as _MEIPASS
basePath = sys._MEIPASS
except Exception:
try:
if os.path.exists(os.path.join(os.path.dirname(__file__)), relativePath):
basePath = os.path.join(os.path.dirname(__file__), "multibootusb")
elif os.path.exists(os.path.join(sys.prefix, "multibootusb"), relativePath):
print os.path.join(sys.prefix, "multibootusb")
except Exception:
basePath = '.'
path = os.path.join(basePath, relativePath)
if not os.path.exists(path):
return None
return path
当从IDE运行时,以及使用pyinstaller作为可执行文件分发之后,这种方法工作得非常好。但是,当我的应用程序使用设置.py. 下面是我用来分发数据文件usinf的示例代码设置.py:-
data_files = [("/usr/share/applications",["data/multibootusb.desktop"]),
('/usr/share/pixmaps',["data/multibootusb.png"]),
(os.path.join(sys.prefix,"multibootusb", "tools"),["tools/checking.gif"])])
我不得不使用sys.prefix
,因为不同发行版的路径不同。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐