Where are math.py and sys.py?

temporary_user_name picture temporary_user_name · Sep 17, 2013 · Viewed 14.8k times · Source

I found all the other modules in Python33/Lib, but I can't find these. I'm sure there are others "missing" too, but these are the only ones I've noticed. They work just fine when I import them, I just can't find them. I checked sys.path and they weren't anywhere in there. Are they built-in or something?

Answer

Michael0x2a picture Michael0x2a · Sep 17, 2013

The math and sys modules are builtins -- for purposes of speed, they're written in C and are directly incorporated into the Python interpreter.

To get a full list of all builtins, you can run:

>>> import sys
>>> sys.builtin_module_names

On my machine, that results in the following list:

__builtin__
__main__
_ast
_bisect
_codecs
_codecs_cn
_codecs_hk
_codecs_iso2022
_codecs_jp
_codecs_kr
_codecs_tw
_collections
_csv
_functools
_heapq
_hotshot
_io
_json
_locale
_lsprof
_md5
_multibytecodec
_random
_sha
_sha256
_sha512
_sre
_struct
_subprocess
_symtable
_warnings
_weakref
_winreg
array
audioop
binascii
cPickle
cStringIO
cmath
datetime
errno
exceptions
future_builtins
gc
imageop
imp
itertools
marshal
math
mmap
msvcrt
nt
operator
parser
signal
strop
sys
thread
time
xxsubtype
zipimport
zlib