#import chess.pgn
#import sys

#pgn_file = sys.argv[1]
#fen_file = sys.argv[2]

#with open(pgn_file) as pgn, open(fen_file, "w") as out_fen:
#    while True:
#        game = chess.pgn.read_game(pgn)
#        if game is None:
#            break
#        board = game.board()
#        for move in game.mainline_moves():
#            board.push(move)
#            out_fen.write(board.fen() + "\n")

import chess.pgn
import sys

pgn_file = sys.argv[1]
fen_file = sys.argv[2]

with open(pgn_file, "r", encoding="cp1252", errors="replace") as pgn, \
     open(fen_file, "w", encoding="utf-8") as out_fen:
    while True:
        game = chess.pgn.read_game(pgn)
        if game is None:
            break
        board = game.board()
        for move in game.mainline_moves():
            board.push(move)
            out_fen.write(board.fen() + "\n")

