This is generally cleaner: less eval, less worrying about separators, and probably also faster. I got the idea from that python wrapper script.