From: Brett Cannon Date: Sat, 15 Jun 2013 18:25:04 +0000 (-0400) Subject: Issue #17177: Stop using imp in pydoc X-Git-Tag: v3.4.0a1~488 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4ba4ec1604fe84a9665d4de0767943f58417f24;p=thirdparty%2FPython%2Fcpython.git Issue #17177: Stop using imp in pydoc --- diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 2e9b6d518fc4..9cc312632937 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -44,17 +44,16 @@ Richard Chamberlain, for the first implementation of textdoc. """ # Known bugs that can't be fixed here: -# - imp.load_module() cannot be prevented from clobbering existing -# loaded modules, so calling synopsis() on a binary module file -# changes the contents of any existing module with the same name. +# - synopsis() cannot be prevented from clobbering existing +# loaded modules. # - If the __file__ attribute on a module is a relative path and # the current directory is changed with os.chdir(), an incorrect # path will be displayed. import builtins -import imp import importlib._bootstrap import importlib.machinery +import importlib.util import inspect import io import os @@ -268,7 +267,7 @@ class ErrorDuringImport(Exception): def importfile(path): """Import a Python source file or compiled file given its path.""" - magic = imp.get_magic() + magic = importlib.util.MAGIC_NUMBER with open(path, 'rb') as file: is_bytecode = magic == file.read(len(magic)) filename = os.path.basename(path)