我发这个帖子是因为这个问题(Import a module from a relative path)的答案对于我们这些可能首先要问这个问题的人来说是不可用的。在
假设我有以下文件结构(对于另一个问题,我保留了相同的命名约定):
C:\dirMain\
dirFoo\
Foo.py
dirBar\
Bar.py
我想从Foo.py
内导入Bar.py
。在
如下所示:(我的C显示在这里,对不起):
^{pr2}$请随意标记为副本,但请先检查其他答复;我看到的大多数答复都过于复杂、不起作用或不完整。这是一个简单的问题,希望有一个简单的答案。在
我尝试过的事情:
1)Puffin GDI建议如下:
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
结果:
NameError: name 'file' is not defined
表面上,这个问题的解决方案就在this answer之中,我不知道。在
2)从这里开始:How to import a module given the full path?
import imp
abc = imp.load_source('bar.py', 'C:\dirMain\dirBar.py')
结果:
IOError: [Errno 22] Invalid Argument
3)如本文所述:Import a module from a relative path
(首先将__init__.py
添加到/dirBar
)
from ..dirBar import Bar
结果:
ValueError: Attempted relative import in non-package
在所有程序中导入根路径。从所有程序的根目录开始运行路径。在
或者
^{pr2}$您可以在配置中写入根路径,然后
相关问题 更多 >
编程相关推荐