From 93f0665fb612f08f3a4e6dc5d9d5350ddad6b653 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 18 Mar 2015 14:14:42 +0100 Subject: [PATCH] Issue #11726: clarify linecache doc: linecache is written to cache Python source files, even if "it works" with other text files encoded to UTF-8. --- Doc/library/linecache.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Doc/library/linecache.rst b/Doc/library/linecache.rst index dacf8aa002a..0c096ada915 100644 --- a/Doc/library/linecache.rst +++ b/Doc/library/linecache.rst @@ -9,11 +9,15 @@ -------------- -The :mod:`linecache` module allows one to get any line from any file, while +The :mod:`linecache` module allows one to get any line from a Python source file, while attempting to optimize internally, using a cache, the common case where many lines are read from a single file. This is used by the :mod:`traceback` module to retrieve source lines for inclusion in the formatted traceback. +The :func:`tokenize.open` function is used to open Python source files. This +function uses :func:`tokenize.detect_encoding` to get the encoding of the +Python source file. + The :mod:`linecache` module defines the following functions: @@ -49,4 +53,3 @@ Example:: >>> import linecache >>> linecache.getline('/etc/passwd', 4) 'sys:x:3:3:sys:/dev:/bin/sh\n' -