我很抱歉,但我无法找到答案。 我有这棵树:
Dogs&Sheeps
simulation.py
stuff
main.py
values.py
simulation.py
中的代码开始:
import pygame
import sys
from stuff import main
from stuff import values
main.py
中的代码开始:
from random import randint
from time import sleep
import queue
import pygame
import sys
import values
如果我启动simulation.py,则会出现此错误:
Traceback (most recent call last):
File "...\simulation.py", line 5, in <module>
from stuff import main
File "...\stuff\main.py", line 7, in <module>
import values
ImportError: No module named 'values'
我认为这显然是我想做的事,但无论如何。在文件main.py
中,我想导入位于同一文件夹中的文件values.py
。
答案 0 :(得分:4)
在Python 3.x中,来自documentation -
当包被组织成子包时(与示例中的声音包一样),您可以使用绝对导入来引用兄弟包的子模块。例如,如果模块
sound.filters.vocoder
需要使用sound.effects
包中的echo模块,则可以使用from sound.effects import echo
。
以同样的方式,你需要使用绝对包名而不是相对名,所以在main.py
做 -
from stuff import values