From: Victor Stinner Date: Tue, 4 Dec 2018 16:18:12 +0000 (+0100) Subject: bpo-35346, platform: import subprocess in _syscmd_file() (GH-10892) X-Git-Tag: v3.8.0a1~357 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b8e689a6e8134e88f857a55e50b6a4977967e385;p=python bpo-35346, platform: import subprocess in _syscmd_file() (GH-10892) Only platform._syscmd_file() uses subprocess. Move subprocess import inside this function to reduce the number of imports at Python startup. Remove also warnings import which is no longer needed. --- diff --git a/Lib/platform.py b/Lib/platform.py index 98ee06f85e..74346c4cab 100755 --- a/Lib/platform.py +++ b/Lib/platform.py @@ -113,9 +113,9 @@ __copyright__ = """ __version__ = '1.0.8' import collections -import sys, os, re, subprocess - -import warnings +import os +import re +import sys ### Globals & Constants @@ -612,11 +612,13 @@ def _syscmd_file(target, default=''): if sys.platform in ('dos', 'win32', 'win16'): # XXX Others too ? return default + + import subprocess target = _follow_symlinks(target) try: proc = subprocess.Popen(['file', target], - stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) except (AttributeError, OSError): return default output = proc.communicate()[0].decode('latin-1')