我使用的是python3.6.0,在跨多个目录的项目中遇到了问题。目录结构如下所示:
/project
/project/frontend
我的前端的所有功能都已完成并在本地进行了测试,并且存在于/project/frontend
中,现在我想将其与我的后端连接,后者存在于/project
所以我改成了/project/frontend
并运行了display_page.py
,其中包含以下行:
sys.path.append('../')
from text_algorithms import process_text
..其中text_algorithms.py
位于/project
并且从那里运行时工作良好。因此,它开始运行了30秒,然后崩溃了,抱怨它找不到它的pickle文件,它位于/project
当text_algorithms.py
运行或从/project
text_algorithms.py
导入时,从来没有问题,包含以下行:
with open('english_vocab.pickle', 'rb') as f:
v = pickle.load(f)
所以我想我可以通过从下面的目录运行python frontend/display_page.py
来“愚弄”它,但是这产生了一个不同的错误,即
ModuleNotFoundError: No module named 'text_algorithms'
有人知道怎么解决这个问题吗?-如何确保它不会根据调用文件的位置而更改查找该文件的位置。有没有合适的方法来处理这种情况?你知道吗
无论从何处运行,它都应该找到它的文件。你知道吗
您应该
import
项目的其他模块:如果在
text_algorithms
中要访问与此模块相关的文件,则应使用__file__
的值,该值包含特定模块的文件路径。使用os.path
可以获得目录并将其与数据文件路径连接起来。你知道吗例如:
相关问题 更多 >
编程相关推荐