从不同的目录导入在Tkinter(依赖于图像)中构建的python模块

问题描述 投票:0回答:1

我试图从另一个python程序中导入一个python程序,但是这些不在同一个目录中,所以我使用这个代码:

import sys
sys.path.append("C:/Users/Name/Desktop/Project")
import Maths

这有效,它打开程序。但是,我遇到的问题是我导入的程序依赖于一些似乎没有加载的图像和文件(这会阻止程序正常运行)。这些文件放在

C:/Users/Name/Desktop/Project/resources

我试过的

我已经尝试将我要导入的程序放入与其依赖的文件相同的目录中,但是此错误与此处显示的相同:

couldn't open "resources/bg.png": no such file or directory

所以我的问题是 - 如何解决我上面描述的问题?

python tkinter sys
1个回答
0
投票

一种可能的解决方案是将Maths模块转换为导入包。将它放在工作文件夹中的子文件夹中。在该子文件夹中放入一个空的__init__.py,使Maths成为一个包。您现在可以照常从工作文件夹中启动的任何模块导入它。要解决错误,您必须抽象数学代码中的资源位置。尝试使用pkgutil.get_data(package, resource)来获取这些文件的内容。请参阅页面底部的pkgutil文档。

© www.soinside.com 2019 - 2024. All rights reserved.