Nope, cat is surely the best way to do this. Why use python when there is a program already written in C for this purpose? However, you might want to consider using `xargs` in case the command line length exceeds `ARG_MAX` and you need more than one `cat`. Using GNU tools, this is equivalent to what you already have:
find . -maxdepth 1 -type f -name 'input_file*' -print0 |
sort -z |
xargs -0 cat -- >>out