Staging
v0.5.1
https://github.com/python/cpython
Revision 3fecd48bded335cf79851a23c66fd8e8195f9516 authored by Terry Jan Reedy on 25 June 2014, 02:21:36 UTC, committed by Terry Jan Reedy on 25 June 2014, 02:21:36 UTC
fit in the default width of the text window (45 chars).
1 parent 5329681
Raw File
Tip revision: 3fecd48bded335cf79851a23c66fd8e8195f9516 authored by Terry Jan Reedy on 25 June 2014, 02:21:36 UTC
Issue #14117: Inprove help text and docstrings, some for clarity, some just to
Tip revision: 3fecd48
user.py
"""Hook to allow user-specified customization code to run.

As a policy, Python doesn't run user-specified code on startup of
Python programs (interactive sessions execute the script specified in
the PYTHONSTARTUP environment variable if it exists).

However, some programs or sites may find it convenient to allow users
to have a standard customization file, which gets run when a program
requests it.  This module implements such a mechanism.  A program
that wishes to use the mechanism must execute the statement

    import user

The user module looks for a file .pythonrc.py in the user's home
directory and if it can be opened, execfile()s it in its own global
namespace.  Errors during this phase are not caught; that's up to the
program that imports the user module, if it wishes.

The user's .pythonrc.py could conceivably test for sys.version if it
wishes to do different things depending on the Python version.

"""
from warnings import warnpy3k
warnpy3k("the user module has been removed in Python 3.0", stacklevel=2)
del warnpy3k

import os

home = os.curdir                        # Default
if 'HOME' in os.environ:
    home = os.environ['HOME']
elif os.name == 'posix':
    home = os.path.expanduser("~/")
elif os.name == 'nt':                   # Contributed by Jeff Bauer
    if 'HOMEPATH' in os.environ:
        if 'HOMEDRIVE' in os.environ:
            home = os.environ['HOMEDRIVE'] + os.environ['HOMEPATH']
        else:
            home = os.environ['HOMEPATH']

pythonrc = os.path.join(home, ".pythonrc.py")
try:
    f = open(pythonrc)
except IOError:
    pass
else:
    f.close()
    execfile(pythonrc)
back to top