【发布时间】:2012-10-13 20:31:34
【问题描述】:
我是 python 新手,为此我正在谷歌搜索和阅读 SO。
我有
pin.py:
from board import Board
class pin(object):
board_id = Int()
my_board = store.get(Board, board_id)
def __init__(self, val):
...
board.py:
from pin import Pin
class Board(object):
id = Int()
def __init__(self, val):
...
Board.pins = ReferenceSet(Board.id, Pin.board_id)
如您所见,我需要能够从其他类访问 Pin 和 Board。我看到here 只做import pin 和import board。但是当我这样做,然后我在我的 pin.py 中执行 board.Board 或 pin.Pin 时,我会有 my_board = store.get(board.Board, board_id) 它给了我这个错误
AttributeError: 'module' object has no attribute 'Board'
当我有上面的代码时没有发生这种情况,只是没有循环导入。
澄清我的问题:
如何进行循环导入并从正在导入的文件中调用类?
【问题讨论】:
-
我的问题是如何进行循环导入并从当前文件调用另一个类,因此 store.get(board.Board, board_id) 对我不起作用,因为该板是要导入的文件,Board 是我要调用的文件中的类
标签: python import dependencies circular-dependency