I currently do my textfile manipulation through a bunch of badly remembered AWK, sed, Bash and a tiny bit of Perl.
I've seen mentioned a few places that python is good for this kind of thing. How can I use Python to replace shell scripting, AWK, sed and friends?
Your best bet is a tool that is specifically geared towards your problem.  If it's processing text files, then Sed, Awk and Perl are the top contenders.  Python is a general-purpose dynamic language.  As with any general purpose language, there's support for file-manipulation, but that isn't what it's core purpose is.  I would consider Python or Ruby if I had a requirement for a dynamic language in particular.
In short, learn Sed and Awk really well, plus all the other goodies that come with your flavour of *nix (All the Bash built-ins, grep, tr and so forth).  If it's text file processing you're interested in, you're already using the right stuff.
How to implement common bash idioms in Python?