我正在尝试将python-chess游戏导出到pgn文件。 documentation推荐 -
import chess
.
.
chessBoard = chess.Board()
.
.
#Play the game and when over do below
game = chess.pgn.Game.from_board(chessBoard)
with open('output.pgn', 'a') as the_file:
print(game, file=the_file, end="\n\n")
但是chess.pgn.Game.from_board(chessBoard)
行引发了以下错误 -
当我输入AttributeError:模块'chess'没有属性'pgn'
pgn
时, chess.
也会显示在intellisense中,因此编辑器也能够看到pgn
中有chess
。这是在Windows 10上的VS2015中运行的python 3.x.
可能导致什么原因?
答案 0 :(得分:6)
要使用pgn
模块,您还必须执行import chess.pgn
答案 1 :(得分:1)
对于那些无法使用已接受答案的人,请检查是否已将文件命名为chess.py
(在其中写入了import chess
)。如果是这种情况,请将其更改为其他内容,例如pychess.py
。
我相信,将文件命名为chess.py
不能正常工作的原因是,它实际上是在自我导入,当然那里没有chess.Board()
。