从lib目录导入文件?

CtrlAltF2

我一直在重新组织我的项目,因为某个地方有问题,但是,正如编程总是会发生的那样,该问题现在恶化了十倍,而且一切都坏了。

我当前满意的文件树是:

Amazons AI
  - .git
  - Game_Code
    - __pycache__
    - game.py
  - lib
    - __pycache__
    - __init__.py (empty)
    - motion.py
    - pieceManagement.py
  - tests
    - __pychache__
    - test_game.py
  - README.md

我的问题是在game.py(在Game_Code文件夹中,我需要导入motion.pypieceManagement.py(都在lib目录中)。

我尝试了多种方法在目录中上一层,然后导入lib,然后从中导入所有内容,主要使用了从子目录导入文件中的建议,但没有任何效果。作为参考,我正在使用Python 3.7.3。

CtrlAltF2

要访问libs当前文件的父目录,可以执行以下操作:

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "/libs")

它将父指令+添加/libs到sys路径,在该路径中python将按照python的描述来寻找它-libs子文件夹是做什么的?但是,我不喜欢这种解决方案,因为它会导致如下丑陋的代码:

import os
import sys

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + "/libs")

from pieceManagement import piece
import motion

所以我仍然想找到一种Python的方式来做到这一点,也许与import语句内联。但是我知道这可行(在我的机器上)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章