You can use pymad. It’s an external library, but don’t fall for the Not Invented Here trap. Any particular reason you don’t want any external libraries?
import mad
mf = mad.MadFile("foo.mp3")
track_length_in_milliseconds = mf.total_time()
Spotted here.
—
If you really don’t want to use an external library, have a look here and check out how he’s done it. Warning: it’s complicated.