有没有办法迭代 PyChess 的 read_game 模块?
Is there a way to iterate over PyChess's read_game module?
大家下午好!
我构建了一个管道,用于获取本地保存的 PGN 文件(包含国际象棋棋步、1.Nf3、2.c3 3. ... 的文件)并将它们转换为位板格式。
我发现的问题是,虽然 PyChess 包含一个可以读取 PGN 文件的模块:
first_game = chess.pgn.read_game(pgn)
这就像一个生成器,每当我想在 PGN 文件中获取下一个游戏时,我都必须调用该模块。
我保存了大约 50 个 PGN 文件,每个文件都有不同数量的游戏(1000-10000 之间的任何地方)。
我希望有一种有效的方法来循环遍历每个 PGN,而不必为范围 (0,10000) 求助于某些 Try-Except 块。
我查看了 PyChess 的文档,似乎没有找到任何东西。话虽如此,我肯定会错过一些东西。
有这方面经验的人 space 有什么想法吗?
您好,我遇到了同样的问题,并且这样做了:
pgn = open("Data/game_name.pgn")
games = []
while True:
game= chess.pgn.read_game(pgn)
if game is not None:
games.append(game)
else:
break
然后您可以遍历“游戏”列表中的每个游戏。
大家下午好!
我构建了一个管道,用于获取本地保存的 PGN 文件(包含国际象棋棋步、1.Nf3、2.c3 3. ... 的文件)并将它们转换为位板格式。
我发现的问题是,虽然 PyChess 包含一个可以读取 PGN 文件的模块:
first_game = chess.pgn.read_game(pgn)
这就像一个生成器,每当我想在 PGN 文件中获取下一个游戏时,我都必须调用该模块。
我保存了大约 50 个 PGN 文件,每个文件都有不同数量的游戏(1000-10000 之间的任何地方)。
我希望有一种有效的方法来循环遍历每个 PGN,而不必为范围 (0,10000) 求助于某些 Try-Except 块。
我查看了 PyChess 的文档,似乎没有找到任何东西。话虽如此,我肯定会错过一些东西。
有这方面经验的人 space 有什么想法吗?
您好,我遇到了同样的问题,并且这样做了:
pgn = open("Data/game_name.pgn")
games = []
while True:
game= chess.pgn.read_game(pgn)
if game is not None:
games.append(game)
else:
break
然后您可以遍历“游戏”列表中的每个游戏。