When io.BufferedReader (and others) are init-ed based on a file descriptor, their name attribute will be an integer. Handle these objects by explicitly checking for an integer type in guess_format() and setting sane values (empty strings). We don't trap an exception because Python 2 and 3 throw different types; AttributeError and TypeError, respectively. So, this way seemed cleaner.test_fixup