How do Minecraft save files work? Is there a Python interface?
You're looking for mclevel.py. This (as the name hints at) allows python to manipulate Minecraft levels. I don't know if it also does minecarts, but I suppose so.
An example of what you can do with it: http://www.minecraftforum.net/viewtopic.php?f=25&t=52183
This Minepedia page has some documentation; here's a simple overview.
World<x>holds the data for the world in the
level.datcontains information about your spawn point, time of day, inventory.
- A number of folders used to organize data into at most 64 groups of chunks.
- A second level of folder used to organize data into at most 4,096 smaller groups of chunks
- The chunk files themselves, each storing terrain, item and monster data for the corresponding 16×16 slice of the world.
The folder hashing has been added because some systems had trouble handling folders with huge amounts of files.
world<w>/<base36(x % 64)>/<base36(y % 64)>/c.<base36(x)>.<base36(y)>.dat
Each chunk is as large as this hole:
Image courtesy of Raven Dreamer, say hello to the creeper.