从lib目录导入文件?

时间:2019-06-28 16:25:02

标签: python file python-import file-structure

我一直在重新组织我的项目,因为某个地方有一个问题,但是,正如编程一样,问题现在变得更加严重了10倍,而且一切都坏了。

我当前满意的文件树是:

one.long = list(c("AAA", .8), c(NA, NA), c(NA, NA))

我的问题是在j <- list(data.frame(one.short = .6, one.long = .8), data.frame(one.short = NA, one.long = NA), data.frame(one.short = .4, one.long = NA)) names(j) <- c("AAA", "BBB", "CCC") # I tried this without success: one.short = sapply(1:length(j), function(i) j[[i]]$one.short) one.long = sapply(1:length(j), function(i) j[[i]]$one.long) (在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.pyGame_Code(都在motion.py目录中)。

我尝试了多种方法来上一级目录,导入lib,然后从中导入所有内容,主要使用了Import a file from a subdirectory?中的建议,但没有任何效果。作为参考,我使用的是Python 3.7.3。

2 个答案:

答案 0 :(得分:0)

我不是专家,但是上周末我写了一些具有类似结构的python代码,并从folder.file导入参考中使用它来反映文件夹结构:

from lib.motion import classObject as ObjectName 
from lib.pieceManagement import classMethod() as MethodName()

答案 1 :(得分:0)

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

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

它将父指令+ /libs添加到sys路径中,如Python - what is the libs subfolder for?中所述,python会在该路径中寻找它。但是,我不喜欢这种解决方案,因为它会导致这样的丑陋代码:

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语句内联。但是我知道这可行(在我的机器上)。