
This module provides access to some variables used or maintained by theinterpreter and to functions that interact strongly with the interpreter. It isalways available.
The list of command line arguments passed to a Python script.argv[0] is thescript name (it is operating system dependent whether this is a full pathname ornot). If the command was executed using the-c command line option tothe interpreter,argv[0] is set to the string'-c'. If no script namewas passed to the Python interpreter,argv[0] is the empty string.
To loop over the standard input, or the list of files given on thecommand line, see thefileinput module.
An indicator of the native byte order. This will have the value'big' onbig-endian (most-significant byte first) platforms, and'little' onlittle-endian (least-significant byte first) platforms.
New in version 2.0.
A tuple of strings giving the names of all modules that are compiled into thisPython interpreter. (This information is not available in any other way —modules.keys() only lists the imported modules.)
Callfunc(*args), while tracing is enabled. The tracing state is saved,and restored afterwards. This is intended to be called from a debugger froma checkpoint, to recursively debug some other code.
A string containing the copyright pertaining to the Python interpreter.
Clear the internal type cache. The type cache is used to speed up attributeand method lookups. Use the functiononly to drop unnecessary referencesduring reference leak debugging.
This function should be used for internal and specialized purposes only.
New in version 2.6.
Return a dictionary mapping each thread’s identifier to the topmost stack framecurrently active in that thread at the time the function is called. Note thatfunctions in thetraceback module can build the call stack given such aframe.
This is most useful for debugging deadlock: this function does not require thedeadlocked threads’ cooperation, and such threads’ call stacks are frozen for aslong as they remain deadlocked. The frame returned for a non-deadlocked threadmay bear no relationship to that thread’s current activity by the time callingcode examines the frame.
This function should be used for internal and specialized purposes only.
New in version 2.5.
Integer specifying the handle of the Python DLL. Availability: Windows.
Ifvalue is notNone, this function prints it tosys.stdout, and savesit in__builtin__._.
sys.displayhook is called on the result of evaluating anexpressionentered in an interactive Python session. The display of these values can becustomized by assigning another one-argument function tosys.displayhook.
If this is true, Python won’t try to write.pyc or.pyo files on theimport of source modules. This value is initially set toTrue orFalse depending on the-B command line option and thePYTHONDONTWRITEBYTECODE environment variable, but you can set ityourself to control bytecode file generation.
New in version 2.6.
This function prints out a given traceback and exception tosys.stderr.
When an exception is raised and uncaught, the interpreter callssys.excepthook with three arguments, the exception class, exceptioninstance, and a traceback object. In an interactive session this happens justbefore control is returned to the prompt; in a Python program this happens justbefore the program exits. The handling of such top-level exceptions can becustomized by assigning another three-argument function tosys.excepthook.
These objects contain the original values ofdisplayhook andexcepthookat the start of the program. They are saved so thatdisplayhook andexcepthook can be restored in case they happen to get replaced with brokenobjects.
This function returns a tuple of three values that give information about theexception that is currently being handled. The information returned is specificboth to the current thread and to the current stack frame. If the current stackframe is not handling an exception, the information is taken from the callingstack frame, or its caller, and so on until a stack frame is found that ishandling an exception. Here, “handling an exception” is defined as “executingor having executed an except clause.” For any stack frame, only informationabout the most recently handled exception is accessible.
If no exception is being handled anywhere on the stack, a tuple containing threeNone values is returned. Otherwise, the values returned are(type,value,traceback). Their meaning is:type gets the exception type of the exceptionbeing handled (a class object);value gets the exception parameter (itsassociated value or the second argument toraise, which isalways a class instance if the exception type is a class object);tracebackgets a traceback object (see the Reference Manual) which encapsulates the callstack at the point where the exception originally occurred.
Ifexc_clear() is called, this function will return threeNone valuesuntil either another exception is raised in the current thread or the executionstack returns to a frame where another exception is being handled.
Warning
Assigning thetraceback return value to a local variable in a function that ishandling an exception will cause a circular reference. This will preventanything referenced by a local variable in the same function or by the tracebackfrom being garbage collected. Since most functions don’t need access to thetraceback, the best solution is to use something likeexctype,value=sys.exc_info()[:2] to extract only the exception type and value. If you doneed the traceback, make sure to delete it after use (best done with atry ...finally statement) or to callexc_info() ina function that does not itself handle an exception.
Note
Beginning with Python 2.2, such cycles are automatically reclaimed when garbagecollection is enabled and they become unreachable, but it remains more efficientto avoid creating cycles.
This function clears all information relating to the current or last exceptionthat occurred in the current thread. After calling this function,exc_info() will return threeNone values until another exception israised in the current thread or the execution stack returns to a frame whereanother exception is being handled.
This function is only needed in only a few obscure situations. These includelogging and error handling systems that report information on the last orcurrent exception. This function can also be used to try to free resources andtrigger object finalization, though no guarantee is made as to what objects willbe freed, if any.
New in version 2.3.
Deprecated since version 1.5:Useexc_info() instead.
Since they are global variables, they are not specific to the current thread, sotheir use is not safe in a multi-threaded program. When no exception is beinghandled,exc_type is set toNone and the other two are undefined.
A string giving the site-specific directory prefix where the platform-dependentPython files are installed; by default, this is also'/usr/local'. This canbe set at build time with the--exec-prefix argument to theconfigure script. Specifically, all configuration files (e.g. thepyconfig.h header file) are installed in the directoryexec_prefix/lib/pythonX.Y/config, and shared library modules areinstalled inexec_prefix/lib/pythonX.Y/lib-dynload, whereX.Yis the version number of Python, for example2.7.
A string giving the absolute path of the executable binary for the Pythoninterpreter, on systems where this makes sense. If Python is unable to retrievethe real path to its executable,sys.executable will be an empty stringorNone.
Exit from Python. This is implemented by raising theSystemExitexception, so cleanup actions specified by finally clauses oftrystatements are honored, and it is possible to intercept the exit attempt atan outer level.
The optional argumentarg can be an integer giving the exit status(defaulting to zero), or another type of object. If it is an integer, zerois considered “successful termination” and any nonzero value is considered“abnormal termination” by shells and the like. Most systems require it to bein the range 0-127, and produce undefined results otherwise. Some systemshave a convention for assigning specific meanings to specific exit codes, butthese are generally underdeveloped; Unix programs generally use 2 for commandline syntax errors and 1 for all other kind of errors. If another type ofobject is passed,None is equivalent to passing zero, and any otherobject is printed tostderr and results in an exit code of 1. Inparticular,sys.exit("someerrormessage") is a quick way to exit aprogram when an error occurs.
Sinceexit() ultimately “only” raises an exception, it will only exitthe process when called from the main thread, and the exception is notintercepted.
This value is not actually defined by the module, but can be set by the user (orby a program) to specify a clean-up action at program exit. When set, it shouldbe a parameterless function. This function will be called when the interpreterexits. Only one function may be installed in this way; to allow multiplefunctions which will be called at termination, use theatexit module.
Note
The exit function is not called when the program is killed by a signal, when aPython fatal internal error is detected, or whenos._exit() is called.
Deprecated since version 2.4:Useatexit instead.
The struct sequenceflags exposes the status of command line flags. Theattributes are read only.
| attribute | flag |
|---|---|
| debug | -d |
| py3k_warning | -3 |
| division_warning | -Q |
| division_new | -Qnew |
| inspect | -i |
| interactive | -i |
| optimize | -O or-OO |
| dont_write_bytecode | -B |
| no_user_site | -s |
| no_site | -S |
| ignore_environment | -E |
| tabcheck | -t or-tt |
| verbose | -v |
| unicode | -U |
| bytes_warning | -b |
| hash_randomization | -R |
New in version 2.6.
New in version 2.7.3:Thehash_randomization attribute.
A structseq holding information about the float type. It contains low levelinformation about the precision and internal representation. The valuescorrespond to the various floating-point constants defined in the standardheader filefloat.h for the ‘C’ programming language; see section5.2.4.2.2 of the 1999 ISO/IEC C standard[C99], ‘Characteristics offloating types’, for details.
| attribute | float.h macro | explanation |
|---|---|---|
| epsilon | DBL_EPSILON | difference between 1 and the least value greaterthan 1 that is representable as a float |
| dig | DBL_DIG | maximum number of decimal digits that can befaithfully represented in a float; see below |
| mant_dig | DBL_MANT_DIG | float precision: the number of base-radixdigits in the significand of a float |
| max | DBL_MAX | maximum representable finite float |
| max_exp | DBL_MAX_EXP | maximum integer e such thatradix**(e-1) isa representable finite float |
| max_10_exp | DBL_MAX_10_EXP | maximum integer e such that10**e is in therange of representable finite floats |
| min | DBL_MIN | minimum positive normalized float |
| min_exp | DBL_MIN_EXP | minimum integer e such thatradix**(e-1) isa normalized float |
| min_10_exp | DBL_MIN_10_EXP | minimum integer e such that10**e is anormalized float |
| radix | FLT_RADIX | radix of exponent representation |
| rounds | FLT_ROUNDS | integer constant representing the rounding modeused for arithmetic operations. This reflectsthe value of the system FLT_ROUNDS macro atinterpreter startup time. See section 5.2.4.2.2of the C99 standard for an explanation of thepossible values and their meanings. |
The attributesys.float_info.dig needs further explanation. Ifs is any string representing a decimal number with at mostsys.float_info.dig significant digits, then convertings to afloat and back again will recover a string representing the same decimalvalue:
>>>importsys>>>sys.float_info.dig15>>>s='3.14159265358979'# decimal string with 15 significant digits>>>format(float(s),'.15g')# convert to float and back -> same value'3.14159265358979'
But for strings with more thansys.float_info.dig significant digits,this isn’t always true:
>>>s='9876543211234567'# 16 significant digits is too many!>>>format(float(s),'.16g')# conversion changes value'9876543211234568'
New in version 2.6.
A string indicating how therepr() function behaves forfloats. If the string has value'short' then for a finitefloatx,repr(x) aims to produce a short string with theproperty thatfloat(repr(x))==x. This is the usual behaviourin Python 2.7 and later. Otherwise,float_repr_style has value'legacy' andrepr(x) behaves in the same way as it did inversions of Python prior to 2.7.
New in version 2.7.
Return the interpreter’s “check interval”; seesetcheckinterval().
New in version 2.3.
Return the name of the current default string encoding used by the Unicodeimplementation.
New in version 2.0.
Return the current value of the flags that are used fordlopen() calls.The flag constants are defined in thedl andDLFCN modules.Availability: Unix.
New in version 2.2.
Return the name of the encoding used to convert Unicode filenames into systemfile names, orNone if the system default encoding is used. The result valuedepends on the operating system:
New in version 2.3.
Return the reference count of theobject. The count returned is generally onehigher than you might expect, because it includes the (temporary) reference asan argument togetrefcount().
Return the current value of the recursion limit, the maximum depth of the Pythoninterpreter stack. This limit prevents infinite recursion from causing anoverflow of the C stack and crashing Python. It can be set bysetrecursionlimit().
Return the size of an object in bytes. The object can be any type ofobject. All built-in objects will return correct results, but thisdoes not have to hold true for third-party extensions as it is implementationspecific.
If given,default will be returned if the object does not provide means toretrieve the size. Otherwise aTypeError will be raised.
getsizeof() calls the object’s__sizeof__ method and adds anadditional garbage collector overhead if the object is managed by the garbagecollector.
New in version 2.6.
Return a frame object from the call stack. If optional integerdepth isgiven, return the frame object that many calls below the top of the stack. Ifthat is deeper than the call stack,ValueError is raised. The defaultfordepth is zero, returning the frame at the top of the call stack.
CPython implementation detail: This function should be used for internal and specialized purposes only.It is not guaranteed to exist in all implementations of Python.
Get the profiler function as set bysetprofile().
New in version 2.6.
Get the trace function as set bysettrace().
CPython implementation detail: Thegettrace() function is intended only for implementing debuggers,profilers, coverage tools and the like. Its behavior is part of theimplementation platform, rather than part of the language definition, andthus may not be available in all Python implementations.
New in version 2.6.
Return a named tuple describing the Windows versioncurrently running. The named elements aremajor,minor,build,platform,service_pack,service_pack_minor,service_pack_major,suite_mask, andproduct_type.service_pack contains a string while all other values areintegers. The components can also be accessed by name, sosys.getwindowsversion()[0] is equivalent tosys.getwindowsversion().major. For compatibility with priorversions, only the first 5 elements are retrievable by indexing.
platform may be one of the following values:
| Constant | Platform |
|---|---|
| 0(VER_PLATFORM_WIN32s) | Win32s on Windows 3.1 |
| 1(VER_PLATFORM_WIN32_WINDOWS) | Windows 95/98/ME |
| 2(VER_PLATFORM_WIN32_NT) | Windows NT/2000/XP/x64 |
| 3(VER_PLATFORM_WIN32_CE) | Windows CE |
product_type may be one of the following values:
| Constant | Meaning |
|---|---|
| 1(VER_NT_WORKSTATION) | The system is a workstation. |
| 2(VER_NT_DOMAIN_CONTROLLER) | The system is a domaincontroller. |
| 3(VER_NT_SERVER) | The system is a server, but nota domain controller. |
This function wraps the Win32GetVersionEx() function; see theMicrosoft documentation onOSVERSIONINFOEX() for more informationabout these fields.
Availability: Windows.
New in version 2.3.
Changed in version 2.7:Changed to a named tuple and addedservice_pack_minor,service_pack_major,suite_mask, andproduct_type.
The version number encoded as a single integer. This is guaranteed to increasewith each version, including proper support for non-production releases. Forexample, to test that the Python interpreter is at least version 1.5.2, use:
ifsys.hexversion>=0x010502F0:# use some advanced feature...else:# use an alternative implementation or warn the user...
This is calledhexversion since it only really looks meaningful when viewedas the result of passing it to the built-inhex() function. Theversion_info value may be used for a more human-friendly encoding of thesame information.
Thehexversion is a 32-bit number with the following layout:
| Bits (big endian order) | Meaning |
|---|---|
| 1-8 | PY_MAJOR_VERSION (the2 in2.1.0a3) |
| 9-16 | PY_MINOR_VERSION (the1 in2.1.0a3) |
| 17-24 | PY_MICRO_VERSION (the0 in2.1.0a3) |
| 25-28 | PY_RELEASE_LEVEL (0xA for alpha,0xB for beta,0xC for releasecandidate and0xF for final) |
| 29-32 | PY_RELEASE_SERIAL (the3 in2.1.0a3, zero for final releases) |
Thus2.1.0a3 is hexversion0x020100a3.
New in version 1.5.2.
A struct sequence that holds information about Python’sinternal representation of integers. The attributes are read only.
| Attribute | Explanation |
|---|---|
| bits_per_digit | number of bits held in each digit. Pythonintegers are stored internally in base2**long_info.bits_per_digit |
| sizeof_digit | size in bytes of the C type used torepresent a digit |
New in version 2.7.
These three variables are not always defined; they are set when an exception isnot handled and the interpreter prints an error message and a stack traceback.Their intended use is to allow an interactive user to import a debugger moduleand engage in post-mortem debugging without having to re-execute the commandthat caused the error. (Typical use isimportpdb;pdb.pm() to enter thepost-mortem debugger; see chapterpdb — The Python Debugger formore information.)
The meaning of the variables is the same as that of the return values fromexc_info() above. (Since there is only one interactive thread,thread-safety is not a concern for these variables, unlike forexc_typeetc.)
The largest positive integer supported by Python’s regular integer type. Thisis at least 2**31-1. The largest negative integer is-maxint-1 — theasymmetry results from the use of 2’s complement binary arithmetic.
The largest positive integer supported by the platform’s Py_ssize_t type,and thus the maximum size lists, strings, dicts, and many other containerscan have.
An integer giving the largest supported code point for a Unicode character. Thevalue of this depends on the configuration option that specifies whether Unicodecharacters are stored as UCS-2 or UCS-4.
A list offinder objects that have theirfind_module()methods called to see if one of the objects can find the module to beimported. Thefind_module() method is called at least with theabsolute name of the module being imported. If the module to be imported iscontained in package then the parent package’s__path__ attributeis passed in as a second argument. The method returnsNone ifthe module cannot be found, else returns aloader.
sys.meta_path is searched before any implicit default finders orsys.path.
SeePEP 302 for the original specification.
This is a dictionary that maps module names to modules which have already beenloaded. This can be manipulated to force reloading of modules and other tricks.Note that removing a module from this dictionary isnot the same as callingreload() on the corresponding module object.
A list of strings that specifies the search path for modules. Initialized fromthe environment variablePYTHONPATH, plus an installation-dependentdefault.
As initialized upon program startup, the first item of this list,path[0],is the directory containing the script that was used to invoke the Pythoninterpreter. If the script directory is not available (e.g. if the interpreteris invoked interactively or if the script is read from standard input),path[0] is the empty string, which directs Python to search modules in thecurrent directory first. Notice that the script directory is insertedbeforethe entries inserted as a result ofPYTHONPATH.
A program is free to modify this list for its own purposes.
Changed in version 2.3:Unicode strings are no longer ignored.
A list of callables that take a path argument to try to create afinder for the path. If a finder can be created, it is to bereturned by the callable, else raiseImportError.
Originally specified inPEP 302.
A dictionary acting as a cache forfinder objects. The keys arepaths that have been passed tosys.path_hooks and the values arethe finders that are found. If a path is a valid file system path but noexplicit finder is found onsys.path_hooks thenNone isstored to represent the implicit default finder should be used. If the pathis not an existing path thenimp.NullImporter is set.
Originally specified inPEP 302.
This string contains a platform identifier that can be used to appendplatform-specific components tosys.path, for instance.
For most Unix systems, this is the lowercased OS name as returned byuname-s with the first part of the version as returned byuname-r appended,e.g.'sunos5',at the time when Python was built. Unless you want totest for a specific system version, it is therefore recommended to use thefollowing idiom:
if sys.platform.startswith('freebsd'): # FreeBSD-specific code here...elif sys.platform.startswith('linux'): # Linux-specific code here...Changed in version 2.7.3:Since lots of code check forsys.platform=='linux2', and there isno essential change between Linux 2.x and 3.x,sys.platform is alwaysset to'linux2', even on Linux 3.x. In Python 3.3 and later, thevalue will always be set to'linux', so it is recommended to alwaysuse thestartswith idiom presented above.
For other systems, the values are:
| System | platform value |
|---|---|
| Linux (2.xand 3.x) | 'linux2' |
| Windows | 'win32' |
| Windows/Cygwin | 'cygwin' |
| Mac OS X | 'darwin' |
| OS/2 | 'os2' |
| OS/2 EMX | 'os2emx' |
| RiscOS | 'riscos' |
| AtheOS | 'atheos' |
See also
os.name has a coarser granularity.os.uname() givessystem-dependent version information.
Theplatform module provides detailed checks for thesystem’s identity.
A string giving the site-specific directory prefix where the platformindependent Python files are installed; by default, this is the string'/usr/local'. This can be set at build time with the--prefixargument to theconfigure script. The main collection of Pythonlibrary modules is installed in the directoryprefix/lib/pythonX.Y`while the platform independent header files (all exceptpyconfig.h) arestored inprefix/include/pythonX.Y, whereX.Y is the versionnumber of Python, for example2.7.
Strings specifying the primary and secondary prompt of the interpreter. Theseare only defined if the interpreter is in interactive mode. Their initialvalues in this case are'>>>' and'...'. If a non-string object isassigned to either variable, itsstr() is re-evaluated each time theinterpreter prepares to read a new interactive command; this can be used toimplement a dynamic prompt.
Bool containing the status of the Python 3 warning flag. It’sTruewhen Python is started with the -3 option. (This should be consideredread-only; setting it to a different value doesn’t have an effect onPython 3 warnings.)
New in version 2.6.
Set the interpreter’s “check interval”. This integer value determines how oftenthe interpreter checks for periodic things such as thread switches and signalhandlers. The default is100, meaning the check is performed every 100Python virtual instructions. Setting it to a larger value may increaseperformance for programs using threads. Setting it to a value<= 0 checksevery virtual instruction, maximizing responsiveness as well as overhead.
Set the current default string encoding used by the Unicode implementation. Ifname does not match any available encoding,LookupError is raised.This function is only intended to be used by thesite moduleimplementation and, where needed, bysitecustomize. Once used by thesite module, it is removed from thesys module’s namespace.
New in version 2.0.
Set the flags used by the interpreter fordlopen() calls, such as whenthe interpreter loads extension modules. Among other things, this will enable alazy resolving of symbols when importing a module, if called assys.setdlopenflags(0). To share symbols across extension modules, call assys.setdlopenflags(dl.RTLD_NOW|dl.RTLD_GLOBAL). Symbolic names for theflag modules can be either found in thedl module, or in theDLFCNmodule. IfDLFCN is not available, it can be generated from/usr/include/dlfcn.h using theh2py script. Availability:Unix.
New in version 2.2.
Set the system’s profile function, which allows you to implement a Python sourcecode profiler in Python. See chapterThe Python Profilers for more information on thePython profiler. The system’s profile function is called similarly to thesystem’s trace function (seesettrace()), but it isn’t called for eachexecuted line of code (only on call and return, but the return event is reportedeven when an exception has been set). The function is thread-specific, butthere is no way for the profiler to know about context switches between threads,so it does not make sense to use this in the presence of multiple threads. Also,its return value is not used, so it can simply returnNone.
Set the maximum depth of the Python interpreter stack tolimit. This limitprevents infinite recursion from causing an overflow of the C stack and crashingPython.
The highest possible limit is platform-dependent. A user may need to set thelimit higher when she has a program that requires deep recursion and a platformthat supports a higher limit. This should be done with care, because a too-highlimit can lead to a crash.
Set the system’s trace function, which allows you to implement a Pythonsource code debugger in Python. The function is thread-specific; for adebugger to support multiple threads, it must be registered usingsettrace() for each thread being debugged.
Trace functions should have three arguments:frame,event, andarg.frame is the current stack frame.event is a string:'call','line','return','exception','c_call','c_return', or'c_exception'.arg depends on the event type.
The trace function is invoked (withevent set to'call') whenever a newlocal scope is entered; it should return a reference to a local tracefunction to be used that scope, orNone if the scope shouldn’t be traced.
The local trace function should return a reference to itself (or to anotherfunction for further tracing in that scope), orNone to turn off tracingin that scope.
The events have the following meaning:
Note that as an exception is propagated down the chain of callers, an'exception' event is generated at each level.
For more information on code and frame objects, refer toThe standard type hierarchy.
CPython implementation detail: Thesettrace() function is intended only for implementing debuggers,profilers, coverage tools and the like. Its behavior is part of theimplementation platform, rather than part of the language definition, andthus may not be available in all Python implementations.
Activate dumping of VM measurements using the Pentium timestamp counter, ifon_flag is true. Deactivate these dumps ifon_flag is off. The function isavailable only if Python was compiled with--with-tsc. To understandthe output of this dump, readPython/ceval.c in the Python sources.
New in version 2.4.
CPython implementation detail: This function is intimately bound to CPython implementation details andthus not likely to be implemented elsewhere.
File objects corresponding to the interpreter’s standard input, output and errorstreams.stdin is used for all interpreter input except for scripts butincluding calls toinput() andraw_input().stdout is used forthe output ofprint andexpression statements and for theprompts ofinput() andraw_input(). The interpreter’s own promptsand (almost all of) its error messages go tostderr.stdout andstderr needn’t be built-in file objects: any object is acceptable as longas it has awrite() method that takes a string argument. (Changing theseobjects doesn’t affect the standard I/O streams of processes executed byos.popen(),os.system() or theexec*() family of functions intheos module.)
These objects contain the original values ofstdin,stderr andstdout at the start of the program. They are used during finalization,and could be useful to print to the actual standard stream no matter if thesys.std* object has been redirected.
It can also be used to restore the actual files to known working file objectsin case they have been overwritten with a broken object. However, thepreferred way to do this is to explicitly save the previous stream beforereplacing it, and restore the saved object.
A triple (repo, branch, version) representing the Subversion information of thePython interpreter.repo is the name of the repository,'CPython'.branch is a string of one of the forms'trunk','branches/name' or'tags/name'.version is the output ofsvnversion, if the interpreterwas built from a Subversion checkout; it contains the revision number (range)and possibly a trailing ‘M’ if there were local modifications. If the tree wasexported (or svnversion was not available), it is the revision ofInclude/patchlevel.h if the branch is a tag. Otherwise, it isNone.
New in version 2.5.
Note
Python is nowdeveloped usingMercurial. In recent Python 2.7 bugfix releases,subversiontherefore contains placeholder information. It is removed in Python3.3.
When this variable is set to an integer value, it determines the maximum numberof levels of traceback information printed when an unhandled exception occurs.The default is1000. When set to0 or less, all traceback informationis suppressed and only the exception type and value are printed.
A string containing the version number of the Python interpreter plus additionalinformation on the build number and compiler used. This string is displayedwhen the interactive interpreter is started. Do not extract version informationout of it, rather, useversion_info and the functions provided by theplatform module.
The C API version for this interpreter. Programmers may find this useful whendebugging version conflicts between Python and extension modules.
New in version 2.3.
A tuple containing the five components of the version number:major,minor,micro,releaselevel, andserial. All values exceptreleaselevel areintegers; the release level is'alpha','beta','candidate', or'final'. Theversion_info value corresponding to the Python version 2.0is(2,0,0,'final',0). The components can also be accessed by name,sosys.version_info[0] is equivalent tosys.version_info.majorand so on.
New in version 2.0.
Changed in version 2.7:Added named component attributes
This is an implementation detail of the warnings framework; do not modify thisvalue. Refer to thewarnings module for more information on the warningsframework.
The version number used to form registry keys on Windows platforms. This isstored as string resource 1000 in the Python DLL. The value is normally thefirst three characters ofversion. It is provided in thesysmodule for informational purposes; modifying this value has no effect on theregistry keys used by Python. Availability: Windows.
Citations
| [C99] | ISO/IEC 9899:1999. “Programming languages – C.” A public draft of this standard is available athttp://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf . |
27.2.sysconfig — Provide access to Python’s configuration information
Enter search terms or a module, class or function name.