如何從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 ...等移動後有一個空格。 –