4

我正在尝试将 python 国际象棋游戏导出到 pgn 文件。文档建议-

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:模块“国际象棋”没有属性“pgn”

pgn当我键入时,它也会显示在智能感知中,chess.因此编辑器也能够看到有一个pgnin chess。这是在 Windows 10 上的 VS2015 中运行的 python 3.x。

可能是什么原因造成的?

4

2 回答 2

7

要使用该pgn模块,您还必须这样做import chess.pgn

于 2017-03-07T06:33:25.363 回答
3

对于那些没有让它与接受的答案一起工作的人,请检查您是否已命名您的文件chess.py(您已在其中编写import chess)。如果是这种情况,请将其更改为其他内容,例如pychess.py.

我相信,命名您的文件不起作用的原因chess.py是,它实际上是在导入自身,当然那里没有chess.Board()

于 2020-05-03T15:16:21.497 回答