bpo-29919: Remove unused imports found by pyflakes (#137)

Make also minor PEP8 coding style fixes on modified imports.
diff --git a/Lib/gettext.py b/Lib/gettext.py
index aa1d555..08d051b 100644
--- a/Lib/gettext.py
+++ b/Lib/gettext.py
@@ -46,7 +46,12 @@
 #   find this format documented anywhere.
 
 
-import locale, copy, io, os, re, struct, sys
+import copy
+import locale
+import os
+import re
+import struct
+import sys
 from errno import ENOENT
 
 
diff --git a/Lib/idlelib/config.py b/Lib/idlelib/config.py
index 358bee4..6a9fc61 100644
--- a/Lib/idlelib/config.py
+++ b/Lib/idlelib/config.py
@@ -29,7 +29,7 @@
 import os
 import sys
 
-from tkinter.font import Font, nametofont
+from tkinter.font import Font
 
 class InvalidConfigType(Exception): pass
 class InvalidConfigSet(Exception): pass
diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py
index ae475cb..ab4f1a3 100644
--- a/Lib/idlelib/editor.py
+++ b/Lib/idlelib/editor.py
@@ -26,7 +26,6 @@
 from idlelib import query
 from idlelib import replace
 from idlelib import search
-from idlelib import textview
 from idlelib import windows
 
 # The default tab setting for a Text widget, in average-width characters.
diff --git a/Lib/idlelib/idle_test/test_config.py b/Lib/idlelib/idle_test/test_config.py
index a3fa1a3..e678cc6 100644
--- a/Lib/idlelib/idle_test/test_config.py
+++ b/Lib/idlelib/idle_test/test_config.py
@@ -3,9 +3,7 @@
 Much is tested by opening config dialog live or in test_configdialog.
 Coverage: 27%
 '''
-from sys import modules
 from test.support import captured_stderr
-from tkinter import Tk
 import unittest
 from idlelib import config
 
diff --git a/Lib/idlelib/idle_test/test_config_key.py b/Lib/idlelib/idle_test/test_config_key.py
index ee3f2c8..8a24c96 100644
--- a/Lib/idlelib/idle_test/test_config_key.py
+++ b/Lib/idlelib/idle_test/test_config_key.py
@@ -6,7 +6,7 @@
 from test.support import requires
 requires('gui')
 import unittest
-from tkinter import Tk, Text
+from tkinter import Tk
 
 
 class GetKeysTest(unittest.TestCase):
diff --git a/Lib/idlelib/idle_test/test_editor.py b/Lib/idlelib/idle_test/test_editor.py
index e9d29d4..64a2a88 100644
--- a/Lib/idlelib/idle_test/test_editor.py
+++ b/Lib/idlelib/idle_test/test_editor.py
@@ -1,7 +1,5 @@
 import unittest
-from tkinter import Tk, Text
 from idlelib.editor import EditorWindow
-from test.support import requires
 
 class Editor_func_test(unittest.TestCase):
     def test_filename_to_unicode(self):
diff --git a/Lib/idlelib/idle_test/test_searchbase.py b/Lib/idlelib/idle_test/test_searchbase.py
index d769fa2..27b02fb 100644
--- a/Lib/idlelib/idle_test/test_searchbase.py
+++ b/Lib/idlelib/idle_test/test_searchbase.py
@@ -5,7 +5,7 @@
 '''
 import unittest
 from test.support import requires
-from tkinter import Tk, Toplevel, Frame ##, BooleanVar, StringVar
+from tkinter import Tk, Frame  ##, BooleanVar, StringVar
 from idlelib import searchengine as se
 from idlelib import searchbase as sdb
 from idlelib.idle_test.mock_idle import Func
diff --git a/Lib/idlelib/pyshell.py b/Lib/idlelib/pyshell.py
index dd6c997..8ddc189 100755
--- a/Lib/idlelib/pyshell.py
+++ b/Lib/idlelib/pyshell.py
@@ -19,7 +19,6 @@
 
 from code import InteractiveInterpreter
 import getopt
-import io
 import linecache
 import os
 import os.path
diff --git a/Lib/idlelib/query.py b/Lib/idlelib/query.py
index 3b1f1e2..5935063 100644
--- a/Lib/idlelib/query.py
+++ b/Lib/idlelib/query.py
@@ -24,7 +24,7 @@
 import os
 from sys import executable, platform  # Platform is set for one test.
 
-from tkinter import Toplevel, StringVar, W, E, N, S
+from tkinter import Toplevel, StringVar, W, E, S
 from tkinter.ttk import Frame, Button, Entry, Label
 from tkinter import filedialog
 from tkinter.font import Font
diff --git a/Lib/lib2to3/pgen2/grammar.py b/Lib/lib2to3/pgen2/grammar.py
index 321e25e..c10dcfa 100644
--- a/Lib/lib2to3/pgen2/grammar.py
+++ b/Lib/lib2to3/pgen2/grammar.py
@@ -17,7 +17,7 @@
 import pickle
 
 # Local imports
-from . import token, tokenize
+from . import token
 
 
 class Grammar(object):
diff --git a/Lib/multiprocessing/reduction.py b/Lib/multiprocessing/reduction.py
index c043c9a..7f65947 100644
--- a/Lib/multiprocessing/reduction.py
+++ b/Lib/multiprocessing/reduction.py
@@ -7,7 +7,7 @@
 # Licensed to PSF under a Contributor Agreement.
 #
 
-from abc import ABCMeta, abstractmethod
+from abc import ABCMeta
 import copyreg
 import functools
 import io
diff --git a/Lib/pathlib.py b/Lib/pathlib.py
index 4a1e9bb..fc7ce5e 100644
--- a/Lib/pathlib.py
+++ b/Lib/pathlib.py
@@ -7,7 +7,6 @@
 import re
 import sys
 from collections import Sequence
-from contextlib import contextmanager
 from errno import EINVAL, ENOENT, ENOTDIR
 from operator import attrgetter
 from stat import S_ISDIR, S_ISLNK, S_ISREG, S_ISSOCK, S_ISBLK, S_ISCHR, S_ISFIFO
diff --git a/Lib/statistics.py b/Lib/statistics.py
index 30fe55c..47c2bb4 100644
--- a/Lib/statistics.py
+++ b/Lib/statistics.py
@@ -83,13 +83,12 @@
           ]
 
 import collections
-import decimal
 import math
 import numbers
 
 from fractions import Fraction
 from decimal import Decimal
-from itertools import groupby, chain
+from itertools import groupby
 from bisect import bisect_left, bisect_right
 
 
diff --git a/Lib/test/ssl_servers.py b/Lib/test/ssl_servers.py
index b99ea45..8146467 100644
--- a/Lib/test/ssl_servers.py
+++ b/Lib/test/ssl_servers.py
@@ -2,7 +2,6 @@
 import sys
 import ssl
 import pprint
-import socket
 import urllib.parse
 # Rename HTTPServer to _HTTPServer so as to avoid confusion with HTTPSServer.
 from http.server import (HTTPServer as _HTTPServer,
diff --git a/Lib/test/test_abc.py b/Lib/test/test_abc.py
index 4bc8382..e20e033 100644
--- a/Lib/test/test_abc.py
+++ b/Lib/test/test_abc.py
@@ -4,7 +4,6 @@
 """Unit tests for abc.py."""
 
 import unittest
-from test import support
 
 import abc
 from inspect import isabstract
diff --git a/Lib/test/test_asyncgen.py b/Lib/test/test_asyncgen.py
index 2b7c5d0..8c69d2b 100644
--- a/Lib/test/test_asyncgen.py
+++ b/Lib/test/test_asyncgen.py
@@ -2,8 +2,6 @@
 import types
 import unittest
 
-from unittest import mock
-
 from test.support import import_module
 asyncio = import_module("asyncio")
 
diff --git a/Lib/test/test_asyncio/test_pep492.py b/Lib/test/test_asyncio/test_pep492.py
index d5b8522..77eb7cd 100644
--- a/Lib/test/test_asyncio/test_pep492.py
+++ b/Lib/test/test_asyncio/test_pep492.py
@@ -1,6 +1,5 @@
 """Tests support for new syntax introduced by PEP 492."""
 
-import collections.abc
 import types
 import unittest
 
diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py
index 3ed018e..4f5b8a8 100644
--- a/Lib/test/test_binop.py
+++ b/Lib/test/test_binop.py
@@ -1,7 +1,6 @@
 """Tests for binary operators on subtypes of built-in types."""
 
 import unittest
-from test import support
 from operator import eq, le, ne
 from abc import ABCMeta
 
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 416316c..d2420e9 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -18,7 +18,7 @@
 import unittest
 import warnings
 from operator import neg
-from test.support import TESTFN, unlink,  run_unittest, check_warnings
+from test.support import TESTFN, unlink, check_warnings
 from test.support.script_helper import assert_python_ok
 try:
     import pty, signal
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 87c6978..3bf1578 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -3,7 +3,6 @@
 import collections
 import copy
 import doctest
-import inspect
 import keyword
 import operator
 import pickle
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index 48360d1..53f71ca 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -34,7 +34,7 @@
 import locale
 from test.support import (run_unittest, run_doctest, is_resource_enabled,
                           requires_IEEE_754, requires_docstrings)
-from test.support import (check_warnings, import_fresh_module, TestFailed,
+from test.support import (import_fresh_module, TestFailed,
                           run_with_locale, cpython_only)
 import random
 import inspect
@@ -1170,7 +1170,6 @@
     @run_with_locale('LC_ALL', 'ps_AF')
     def test_wide_char_separator_decimal_point(self):
         # locale with wide char separator and decimal point
-        import locale
         Decimal = self.decimal.Decimal
 
         decimal_point = locale.localeconv()['decimal_point']
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index ce517b5..e895c3c 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -5,7 +5,6 @@
 import weakref
 import copy
 import pickle
-from io import StringIO
 import random
 import struct
 
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index f81c82f..7956bdd 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -6,7 +6,6 @@
 import warnings
 import weakref
 import inspect
-import types
 
 from test import support
 
diff --git a/Lib/test/test_http_cookies.py b/Lib/test/test_http_cookies.py
index ca21476..2ff6902 100644
--- a/Lib/test/test_http_cookies.py
+++ b/Lib/test/test_http_cookies.py
@@ -1,11 +1,11 @@
 # Simple test suite for http/cookies.py
 
 import copy
-from test.support import run_unittest, run_doctest, check_warnings
+from test.support import run_unittest, run_doctest
 import unittest
 from http import cookies
 import pickle
-import warnings
+
 
 class CookieTests(unittest.TestCase):
 
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
index fac6b57..5ef9512 100644
--- a/Lib/test/test_imaplib.py
+++ b/Lib/test/test_imaplib.py
@@ -10,7 +10,6 @@
 import socketserver
 import time
 import calendar
-import inspect
 
 from test.support import (reap_threads, verbose, transient_internet,
                           run_with_tz, run_with_locale)
diff --git a/Lib/test/test_json/test_decode.py b/Lib/test/test_json/test_decode.py
index 7e568be..d84ef7d 100644
--- a/Lib/test/test_json/test_decode.py
+++ b/Lib/test/test_json/test_decode.py
@@ -1,5 +1,5 @@
 import decimal
-from io import StringIO, BytesIO
+from io import StringIO
 from collections import OrderedDict
 from test.test_json import PyTest, CTest
 
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
index ed438d5..6813d15 100644
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -1,6 +1,5 @@
 import os
 import sys
-import builtins
 import contextlib
 import importlib.util
 import inspect
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 1d7fb76..a1fddfb 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -1,5 +1,5 @@
-from test.support import verbose, run_unittest, gc_collect, bigmemtest, _2G, \
-        cpython_only, captured_stdout
+from test.support import (gc_collect, bigmemtest, _2G,
+                          cpython_only, captured_stdout)
 import locale
 import re
 import sre_compile
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index 3688eae..c7f7d1d 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -11,7 +11,6 @@
 import errno
 import functools
 import subprocess
-from contextlib import ExitStack
 from shutil import (make_archive,
                     register_archive_format, unregister_archive_format,
                     get_archive_formats, Error, unpack_archive,
@@ -22,8 +21,7 @@
 import zipfile
 
 from test import support
-from test.support import (TESTFN, check_warnings, captured_stdout,
-                          android_not_root)
+from test.support import TESTFN, android_not_root
 
 TESTFN2 = TESTFN + "2"
 
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 8a404ef..22715cf 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -1,12 +1,11 @@
-import unittest
-from test import support
-from contextlib import closing
-import select
+import os
 import signal
 import socket
-import struct
 import subprocess
-import sys, os, time, errno
+import sys
+import time
+import unittest
+from test import support
 from test.support.script_helper import assert_python_ok, spawn_python
 try:
     import threading
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 9aeb28a..748445e 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -9,7 +9,6 @@
 import codecs
 import gc
 import sysconfig
-import platform
 import locale
 
 # count the number of test runs, used to create unique
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index f70504c..506f071 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -10,7 +10,6 @@
 import itertools
 import operator
 import struct
-import string
 import sys
 import unittest
 import warnings
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index f3d9936..47436e5 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -16,7 +16,7 @@
 from test.support import script_helper
 from test.support import (TESTFN, findfile, unlink, rmtree, temp_dir, temp_cwd,
                           requires_zlib, requires_bz2, requires_lzma,
-                          captured_stdout, check_warnings)
+                          captured_stdout)
 
 TESTFN2 = TESTFN + "2"
 TESTFNDIR = TESTFN + "d"
diff --git a/Lib/test/test_zipfile64.py b/Lib/test/test_zipfile64.py
index c29bd8d..ae29545 100644
--- a/Lib/test/test_zipfile64.py
+++ b/Lib/test/test_zipfile64.py
@@ -15,7 +15,6 @@
 import time
 import sys
 
-from io import StringIO
 from tempfile import TemporaryFile
 
 from test.support import TESTFN, requires_zlib
diff --git a/Lib/unittest/__main__.py b/Lib/unittest/__main__.py
index 2663178..e5876f5 100644
--- a/Lib/unittest/__main__.py
+++ b/Lib/unittest/__main__.py
@@ -13,6 +13,6 @@
 
 __unittest = True
 
-from .main import main, TestProgram
+from .main import main
 
 main(module=None)
diff --git a/Modules/_decimal/tests/bench.py b/Modules/_decimal/tests/bench.py
index 56566cc..3726db1 100644
--- a/Modules/_decimal/tests/bench.py
+++ b/Modules/_decimal/tests/bench.py
@@ -7,7 +7,6 @@
 
 
 import time
-from math import log, ceil
 try:
     from test.support import import_fresh_module
 except ImportError:
diff --git a/PCbuild/prepare_ssl.py b/PCbuild/prepare_ssl.py
index d746976..3429254 100644
--- a/PCbuild/prepare_ssl.py
+++ b/PCbuild/prepare_ssl.py
@@ -21,7 +21,6 @@
 from __future__ import print_function
 
 import os
-import re
 import sys
 import subprocess
 from shutil import copy
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
index 55faf1e..53108b1 100755
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -7,7 +7,6 @@
 
 import abc
 import ast
-import atexit
 import collections
 import contextlib
 import copy
@@ -27,7 +26,6 @@
 import textwrap
 import traceback
 import types
-import uuid
 
 from types import *
 NoneType = type(None)
diff --git a/Tools/msi/make_zip.py b/Tools/msi/make_zip.py
index 710e4a5..0034f6b 100644
--- a/Tools/msi/make_zip.py
+++ b/Tools/msi/make_zip.py
@@ -10,7 +10,7 @@
 from itertools import chain
 from pathlib import Path
 from zipfile import ZipFile, ZIP_DEFLATED
-import subprocess
+
 
 TKTCL_RE = re.compile(r'^(_?tk|tcl).+\.(pyd|dll)', re.IGNORECASE)
 DEBUG_RE = re.compile(r'_d\.(pyd|dll|exe|pdb|lib)$', re.IGNORECASE)
diff --git a/Tools/tz/zdump.py b/Tools/tz/zdump.py
index f94b483..39de0a4 100644
--- a/Tools/tz/zdump.py
+++ b/Tools/tz/zdump.py
@@ -3,7 +3,7 @@
 import struct
 from array import array
 from collections import namedtuple
-from datetime import datetime, timedelta
+from datetime import datetime
 
 ttinfo = namedtuple('ttinfo', ['tt_gmtoff', 'tt_isdst', 'tt_abbrind'])