如何从Python中的pgn文件中提取移动信息?我是新手编程和任何帮助,将不胜感激。从Python上的pgn文件中提取移动信息
5
A
回答
1
我不能给你任何Python特定的方向,但我最近用java写了一个PGN转换器,所以我会尝试提供一些建议。 Miku链接的主要缺点是网站不允许在.pgn文件中出现差异,每个网站在确切格式上似乎略有不同。
一些.pgn具有连接到移动本身(1.e4而不是1 E4)的手数,所以如果你tokenise字符串,你可以因为它只发生在移动检查点的位置数字。
计算出你可以拥有的所有不同的移动组合。如果移动长度为5个字符,它可以是0-0-0(皇后城堡),Nge2 +(骑士从g到e2与检查(+)/将军(#)),Rexb5(Rook on e需要b5)。
移动最长的字符串可能是7个字符(因为当您必须指定原始等级和文件以及带有检查的捕获AND时)。最短的是2个字符(棋子前进)。
提前计划castling和en passant动作。你可能已经太迟了,你建立程序的方式不容易适应它们。
在开始时给出的细节(ELO评级,位置等)因文件而异。
2
我没有为Python PGN解析器,但你可以得到PGN解析器的源代码,从this place的XCode它可以协助
2
尝试pgnparser。
示例代码:
import pgn
import sys
f = open(sys.argv[1])
pgn_text = f.read()
f.close()
games = pgn.loads(pgn_text)
for game in games:
print game.moves
相关问题
- 1. 从g盘上传的新文件中自动提取信息?
- 2. 从PGN获取移动列表
- 3. 从SSIS XML文件中提取信息?
- 4. 从HTML文件中提取信息
- 5. ColdFusion:从.msg文件中提取信息
- 6. 从Global.ascx文件中提取信息
- 7. 如何从文件中提取信息
- 8. 从文件中提取信息
- 9. 从文件中提取信息
- 10. 从prop文件中提取信息
- 11. 从非常规文本文件中提取信息? (Python)
- 12. Powershell,从文本文件提取信息
- 13. 使用Python从shapefile中提取信息
- 14. Python 3,从文件问题中提取信息
- 15. 使用Python从SGM文件中提取信息
- 16. Android,我如何提取移动信息?
- 17. 从提取的动画文件的基本信息
- 18. 从mongoDB中提取信息
- 19. 从xml中提取信息
- 20. 从dictionary.description中提取信息?
- 21. 从XML中提取信息
- 22. 从api中提取信息
- 23. 从array_count_values中提取信息
- 24. 从DTD中提取信息
- 25. 从XCUIElement中提取信息
- 26. 从$中提取信息?
- 27. 从xml中提取信息
- 28. 从文本中提取特定信息
- 29. 从MS Word中提取文本信息
- 30. 从网页中提取文本信息
到目前为止我可以以这种形式返回移动的字符串: “1.e4 C6 2.d3 D5 E5 3.Nd2 ND7 4.Ngf3 5.d4 dxe4 6 .Nxe4 exd4 7.Qxd4 Ngf6 8.Bg5 Be7 ... etc 我现在需要做的是返回一个字符串,以这种形式总结movetext中的信息:“白色将e2上的棋子移动到e4。\ n黑色把e7的棋子移到e5。“ –
另外,对于某些文件,字符串以这种形式返回: '1。 e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. d4 d6 7. Nd3 Nxe4 ...等移动后有一个空格。 –