time.strptime (): el argumento 0 debe ser str, no bytes

Obviamente ya soy consciente de questrftime ystrptime no me gustan las cadenas de bytes como parámetros, sin embargo, estoy en un lío aquí porque en cierto modo necesito leer el contenido de un archivo que tiene diferentes codificaciones de caracteres guardadas en él y debo manejarlas todas, y enviar la parte de tiempo de cada una línea en este archivo de texto parastrptime().

Una solución rápida sería dividir la cadena, asegurándose de que la hora simplemente contenga números y guiones, pero ¿es posible pasar de alguna manera el objeto de byte sin tratar de averiguar la codificación parastrptime()?

with open('file.txt', 'rb') as fh:
    for line in fh:
        time.strptime(line, '%Y-%m-%d ...')

Esto obviamente fallaría. Pensé en hacerrepr(line) pero eso hace que la cadena se vea comob'2014-01-07 ...', que pude despojar ..

Respuestas a la pregunta(2)

Su respuesta a la pregunta