python - 从上面的目录导入模块 - Python2
问题描述
所以这是我的文件树:
project/
moduleToImport.py
folder1/
willImport.py
我无法moduleToImport.py
在我的willImport.py
文件中导入。我像这样执行它:
usr@machine:~/home$ /test/anotherFolder/project/folder1/willImport.py --args "a" "b" "c"
所以当我尝试这个解决方案时:
from .. import moduleToImport
该willImport.py
文件尝试从../home
not导入/project
,因此他找不到moduleToImport.py
.
我发现的另一个解决方案是:
import sys
sys.path.append("/path/to/dir")
from app import object
但如果我使用相对路径(这将是必要的),它就不起作用,比如:
sys.path.append("..")
from .. import moduleToImport
因为它会出现和以前一样的问题:他从../home
.
主要问题是,我不能使用绝对路径,因为它会改变。
有任何想法吗?
解决方案
文件夹
project/
moduleToImport.py
folder1/
willImport.py
将导入.py
import os
import sys
runPath = os.path.dirname(os.path.realpath(__file__))
sys.path.append(os.path.join(runPath, ".."))
from moduleToImport import func
func()
模块导入.py
def func():
print("Success")
输出:
Success
推荐阅读
- java - Java 游戏:在一个简单的游戏中射击子弹
- java - 让 Gradle 访问其项目之外的文件
- html - 如何构建tailwindCss 样式文件?
- flutter - 将“FontFeature.tabularFigures”应用于小部件子树
- amazon-web-services - 我们如何使用 AWS KMS 限制访问?
- javascript - 提交表单时如何显示错误消息和图标
- assembly - 用于 SW、SH、SB 的 RISC V RAM 地址对齐
- css - 更改 b-form-checkbox-group 的背景颜色
- r - 总结行
- tree - 如何从磁盘检索/存储文件树(分层树)?