I have a few different problems with Python but many of them are stylistic; I just don't prefer to have the language I'm using to work that way.
Something that does seem to have more of an impact though is the lack of an end-of-block marker. For Python, you just outdent as much as you indented for that block and that signals the end. Possibly as I work with Python more, I might find it easier. But as it is, if I'm quickly glazing over the code, I have to read much slower since where things start and end just doesn't come out very well. Rather frustrating.
In other frustrations, the Civ4 programmers, at least in the published code of the SDK did do very much defensive programming. Get something a bit wrong in the XML, for example a duplicated tag, and the system craps out. I'd expect game code to need to be more defensive than most but maybe they got pressed for time or such.