Tôi làm cách nào để trích xuất thông tin di chuyển từ tệp pgn trên Python? Tôi mới lập trình và mọi trợ giúp sẽ được đánh giá cao.Trích xuất thông tin di chuyển từ tệp pgn trên Python
Trả lời
Tôi không thể cung cấp cho bạn bất kỳ chỉ dẫn cụ thể nào về Python, nhưng tôi đã viết trình chuyển đổi PGN gần đây trong java, vì vậy tôi sẽ cố gắng cung cấp một số lời khuyên. Nhược điểm chính của liên kết của Miku là trang web không cho phép phương sai trong tệp .pgn, mà mỗi trang web dường như thay đổi đôi chút theo định dạng chính xác.
Một số .pgn có số di chuyển đi kèm với bản thân di chuyển số.
Làm việc ra tất cả các kết hợp di chuyển khác nhau mà bạn có thể có. Nếu di chuyển là 5 ký tự, nó có thể là 0-0-0 (queenside lâu đài), Nge2 + (Knight từ g đến e2 với check (+)/checkmate (#)), Rexb5 (Rook on e mất b5).
Chuỗi dài nhất di chuyển có thể là 7 ký tự (khi bạn phải chỉ định thứ hạng gốc VÀ tệp VÀ chụp VÀ có kiểm tra). Ngắn nhất là 2 ký tự (tạm ứng cầm đồ).
Lập kế hoạch sớm cho việc di chuyển và di chuyển. Bạn có thể nhận ra quá muộn rằng cách bạn đã xây dựng chương trình của bạn không dễ dàng thích ứng với chúng.
Chi tiết được cung cấp khi bắt đầu (xếp hạng ELO, vị trí, v.v.) thay đổi từ tệp này sang tệp khác.
Tôi không có phân tích cú pháp PGN cho python nhưng Bạn có thể lấy mã nguồn của PGN phân tích cú pháp cho XCode từ this place nó có thể được hỗ trợ
Hãy thử pgnparser.
đangVí dụ:
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. Trích xuất thông tin từ $?
- 2. Trích xuất thông tin từ một Tuple (Python)
- 3. Cách trích xuất thông tin gỡ lỗi từ sự cố
- 4. Cách trích xuất thông tin giữa hai từ duy nhất trong một tệp văn bản lớn
- 5. Trích xuất tọa độ từ tệp KML BatchGeo bằng Python
- 6. Truy xuất thông tin tháp di động
- 7. trích xuất các từ từ một tệp
- 8. Trích xuất ActionScript từ tập tin .fla
- 9. Cách trích xuất tên tệp từ tên đường dẫn tệp?
- 10. Trích xuất thông tin 'hữu ích' ra khỏi câu?
- 11. Cách trích xuất trang trình bày từ video bằng python
- 12. Trích xuất thông tin từ Văn bản thuần tuý và Viết sang XML Sử dụng DOM
- 13. Trích xuất luồng Python
- 14. Trích xuất bảng từ tệp kết xuất mysql.sql
- 15. Trích xuất mã VB.NET từ tệp exe
- 16. Trích xuất tiêu đề từ tệp PDF?
- 17. trích xuất tên tệp từ đường dẫn
- 18. Truy xuất thông tin ID3 từ tệp m4a trong PHP
- 19. Truy xuất thông tin phiên bản từ các tệp lớn
- 20. Truy xuất thông tin email từ tệp .EML
- 21. Python - Trích xuất đường dẫn thư mục từ đường dẫn tập tin
- 22. Xuất lịch thông dịch Python sang tệp?
- 23. Trích xuất địa chỉ IP và thông tin cổng từ sockaddr_storage
- 24. Trích xuất mã băm SHA1 từ tệp torrent
- 25. Trích xuất địa chỉ IP từ chuỗi html (python)
- 26. Trích xuất EXIF từ JPEG
- 27. Trích xuất hình thu nhỏ từ tệp jpeg
- 28. Trích xuất URL từ chuỗi
- 29. Di chuyển các tệp theo python
- 30. Trích xuất thông tin từ HTML bằng cách sử dụng Mathematica
Cho đến nay tôi có thể trả về một chuỗi các chuyển động theo hình thức này: '1.e4 c6 2.d3 d5 3.Nd2 e5 4.Ngf3 Nd7 5.d4 dxe4 6 .Nxe4 exd4 7.Qxd4 Ngf6 8.Bg5 Be7 ... etc Những gì tôi cần làm bây giờ là trả về một chuỗi tóm tắt thông tin trong văn bản dưới dạng này: "Trắng di chuyển con tốt ở e2 đến e4. \ NĐen di chuyển cầm đồ từ e7 đến e5. " –
Ngoài ra, đối với một số tệp, chuỗi đang được trả về theo mẫu này: '1. e4 e5 2. f4 exf4 3. Nf3 g5 4. h4 g4 5. Ne5 Nf6 6. d4 d6 7. Nd3 Nxe4 ... vv Có một dấu cách sau số di chuyển. –