使用python-chess的FileExporter导出PGN游戏文件为空问题求助
解决python-chess导出PGN为空文件的问题
检查走法是否被正确添加:确认
mainline_and_friends(study)函数实际给study对象添加了走法分支。可以在调用该函数后添加代码print(list(study.mainline_moves())),如果输出为空列表,说明函数没有正确生成走法,需要排查函数内部逻辑(比如是否调用了study.add_variation()等方法来添加变例)。用
with语句管理文件:当前代码未显式关闭文件,可能导致缓冲区内容未写入磁盘。改用with自动处理文件关闭,确保内容保存:
with open(f"PGN/Italian game Evans gambit {counter}", "w", encoding="utf-8") as new_pgn: exporter = chess.pgn.FileExporter(new_pgn) study.accept(exporter)
- 验证
study对象有效性:调用print(str(study))查看PGN文本内容,如果输出为空,说明study本身没有有效节点,需要检查初始局面设置和走法生成逻辑是否正确。比如确认study.setup(board)正确设置了开局局面,board对象的FEN格式是否合法。
内容的提问来源于stack exchange,提问作者Łukasz Popowicz
相关产品推荐
相关产品推荐

