1"""Hook to allow user-specified customization code to run. 2 3As a policy, Python doesn't run user-specified code on startup of 4Python programs (interactive sessions execute the script specified in 5the PYTHONSTARTUP environment variable if it exists). 6 7However, some programs or sites may find it convenient to allow users 8to have a standard customization file, which gets run when a program 9requests it. This module implements such a mechanism. A program 10that wishes to use the mechanism must execute the statement 11 12 import user 13 14The user module looks for a file .pythonrc.py in the user's home 15directory and if it can be opened, execfile()s it in its own global 16namespace. Errors during this phase are not caught; that's up to the 17program that imports the user module, if it wishes. 18 19The user's .pythonrc.py could conceivably test for sys.version if it 20wishes to do different things depending on the Python version. 21 22""" 23from warnings import warnpy3k 24warnpy3k("the user module has been removed in Python 3.0", stacklevel=2) 25del warnpy3k 26 27import os 28 29home = os.curdir # Default 30if 'HOME' in os.environ: 31 home = os.environ['HOME'] 32elif os.name == 'posix': 33 home = os.path.expanduser("~/") 34elif os.name == 'nt': # Contributed by Jeff Bauer 35 if 'HOMEPATH' in os.environ: 36 if 'HOMEDRIVE' in os.environ: 37 home = os.environ['HOMEDRIVE'] + os.environ['HOMEPATH'] 38 else: 39 home = os.environ['HOMEPATH'] 40 41pythonrc = os.path.join(home, ".pythonrc.py") 42try: 43 f = open(pythonrc) 44except IOError: 45 pass 46else: 47 f.close() 48 execfile(pythonrc) 49