1

我想从我从文本文件中读取的游戏(使用 python-chess 库)中顺序打印剩余的时钟时间(每次移动一个字符串)。

所以,假设我有一个包含以下动作的游戏的 pgn 文件......

  1. f3 { [%clk 0:05:00] } 1... e5 { [%clk 0:05:00] } 2. g4 { [%clk 0:04:49] } 2... Qh4# { [ %clk 0:04:48] }

...我想遍历动作并一一打印相应的时钟时间(使用for循环或类似的),显示

0:05:00

0:05:00

0:04:49

0:04:48

我知道如何迭代游戏的动作: 使用 python-chess 库打印单个动作

我将代码从那个答案更改为


pgn = open("test.pgn")
game = chess.pgn.read_game(pgn)

board = game.board()

for move in game.mainline_moves():
    print(game.variation(move))
    board.push(move)

但这没有用。在第一次迭代中,它确实打印了完整的变化(所有移动和时钟时间都在一行中)。在第二次迭代中,它引发了一个错误:

“KeyError:Move.from_uci('e7e5')”

4

1 回答 1

1

提示:

于 2020-09-06T10:06:47.773 回答