I am currently parsing large text files with Python 2.7, some of which were originally encoded in Unicode or UTF-8.
For modules containing functions which directly interact with strings in UTF-8, I included # -*- coding: utf-8 -*- at the top of the file, but for functions which work with only ascii, I did not bother.
Eventually, these modules lead to larger modules, and all the parsed strings gets mixed together. Is it good practice to include # -*- coding: utf-8 -*- at top of every file? 
Is there a benefit to this?
Every ASCII file is also a valid UTF-8. Don't worry about treating your ASCII files as UTF-8 files, no conversion necessary, no increase in size.
Mixed usage of UTF-8 and ASCII encodings?