Depending on the size of the ball python they could definitely eat a large rat, my 2,300 gram female ball python eats a medium rat once a week. A 4,000 gram ball python could most certainly eat a large, and probably should. Feeding pre- killed, frozen/ thawed, or live is personal preference, I only feed live and have absolutely no problems in doing so. Feeding live just means you have to be responsible and supervise all of the feedings.