compileall.compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1, workers=1)
Recursively descend the directory tree named by dir, compiling all .py
files along the way.
The maxlevels parameter is used to limit the depth of the recursion; it defaults to 10
.
If ddir is given, it is prepended to the path to each file being compiled for use in compilation time tracebacks, and is also compiled in to the byte-code file, where it will be used in tracebacks and other messages in cases where the source file does not exist at the time the byte-code file is executed.
If force is true, modules are re-compiled even if the timestamps are up to date.
If rx is given, its search method is called on the complete path to each file considered for compilation, and if it returns a true value, the file is skipped.
If quiet is False
or 0
(the default), the filenames and other information are printed to standard out. Set to 1
, only errors are printed. Set to 2
, all output is suppressed.
If legacy is true, byte-code files are written to their legacy locations and names, which may overwrite byte-code files created by another version of Python. The default is to write files to their PEP 3147 locations and names, which allows byte-code files from multiple versions of Python to coexist.
optimize specifies the optimization level for the compiler. It is passed to the built-in compile()
function.
The argument workers specifies how many workers are used to compile files in parallel. The default is to not use multiple workers. If the platform can’t use multiple workers and workers argument is given, then sequential compilation will be used as a fallback. If workers is lower than 0
, a ValueError
will be raised.
Changed in version 3.2: Added the legacy and optimize parameter.
Changed in version 3.5: Added the workers parameter.
Changed in version 3.5: quiet parameter was changed to a multilevel value.
Changed in version 3.5: The legacy parameter only writes out .pyc
files, not .pyo
files no matter what the value of optimize is.
Please login to continue.