diff --git a/Tools/PROCTools/CMakeLists.txt b/Tools/PROCTools/CMakeLists.txt
index e96ecb6a51a1aedea2dedc52547d2508690c2e16..48bcfe091319748366d92b05875825290f8c7124 100644
--- a/Tools/PROCTools/CMakeLists.txt
+++ b/Tools/PROCTools/CMakeLists.txt
@@ -6,7 +6,7 @@
 atlas_subdir( PROCTools )
 
 # Install files from the package:
-atlas_install_python_modules( python/*.py )
+atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
 atlas_install_scripts( python/compareTCTs.py python/UploadAMITag.py python/UploadTfAMITag.py python/getCurrentCOMCONDTag.py python/RunTier0Tests.py python/ExtractEvents.py python/checkUPD1.py python/runDiffRootOnChanged.py python/provideTwikiSummary.py python/evaluateDiffRoot.py python/outputTest_v2.py  python/CreateTierZeroArgdict.py python/root_lsr_rank.py python/xAODDigest.py )
 
 # Install digest reference files for easy access
diff --git a/Tools/PROCTools/python/CreateTierZeroArgdict.py b/Tools/PROCTools/python/CreateTierZeroArgdict.py
index b3710adbec739c78c8cd2d0a3421adf82312cef2..95c250340e2d764e217a7d3d61b0fc52cb7b3b4a 100755
--- a/Tools/PROCTools/python/CreateTierZeroArgdict.py
+++ b/Tools/PROCTools/python/CreateTierZeroArgdict.py
@@ -13,10 +13,7 @@
 #                     python CreateTierZeroArgdict.py --maxEvents 20 --jobnr 1 --ncores 4 --NoMergeTypeList AOD,ESD,DRAW_EGZ,DRAW_EMU,DRAW_TAUMUH,DRAW_ZMUMU f622 data15_13TeV.00284473.physics_Main.daq.RAW data15_13TeV.00284473.physics_Main.daq.RAW._lb0267._SFO-3._0001.data 
 
 
-from __future__ import print_function
-
-import os, sys, json, traceback, re, argparse
-from pprint import pprint as pp
+import sys, json, traceback, re, argparse
 
 #####################################
 # command line argument parsing 
@@ -97,7 +94,7 @@ def resolve(tag) :
                'transformation' : str(r.get('transformation','')),
                'trfsetupcmd' : str(r.get('trfsetupcmd','')),     
                }
-    except :
+    except Exception:
         traceback.print_exc()
         res = 'error'
     return res
@@ -147,7 +144,7 @@ if __name__ == '__main__':
         else: 
             print("WARNING >>> input file name does not have the expected format - no partition identifiers separated by '._' found in the inputfilename lbXXXX._SFO-X._XXXX, ._lb0000._SFO-0._0000.job,<jobnr>.log will be used instead for the log file name")
             pass
-    except:
+    except Exception:
         pass 
     
     logfilename=dsname+"."+ amitag+"."+taskstep+partID+".job.log"
diff --git a/Tools/PROCTools/python/DataFormatRates.py b/Tools/PROCTools/python/DataFormatRates.py
index 57be69e1d2c75aa107cdf7d448806f130e0135ba..1634a2e5a251293f3780bc06b0d4c937e9c696a2 100755
--- a/Tools/PROCTools/python/DataFormatRates.py
+++ b/Tools/PROCTools/python/DataFormatRates.py
@@ -2,10 +2,8 @@
 
 # Script for checking the yield and skimming efficiency for derived data formats
 
-from __future__ import print_function
-
 # needed python imports
-import sys, os, argparse, subprocess
+import os, argparse, subprocess
 
 # use (rather than copy) some useful functions
 from PROCTools import ExtractEvents as ee
diff --git a/Tools/PROCTools/python/ExtractEvents.py b/Tools/PROCTools/python/ExtractEvents.py
index c8b4a2b58aa25b5de6c0d21a522d8553c90228e8..dc03d700756718f4ea64e06f0e965ccd7d643d3c 100755
--- a/Tools/PROCTools/python/ExtractEvents.py
+++ b/Tools/PROCTools/python/ExtractEvents.py
@@ -12,8 +12,6 @@
 #                                                            #
 ##############################################################
 
-from __future__ import print_function
-
 import sys, os, argparse, subprocess, fnmatch
 
 # This is a bit ugly, but seems to be the only way for now
@@ -107,7 +105,7 @@ def main():
         extractEvents(args.run, eventList, args.inputfile, args.fileformat)
         sys.exit(0)
         
-    if args.fileformat == False:
+    if args.fileformat is False:
         print ("Unknown argument for -f/--fileformat - please provide a valid string describing the file format, i.e. one containing 'RAW', 'ESD' or 'AOD'")
         sys.exit(1)
 
@@ -135,7 +133,7 @@ def main():
             datasetNames.append(line.rstrip())
 
     # now get rid of all datasets that don't match the matching pattern
-    datasetNames = [ds for ds in datasetNames if not ".LOGARC" in ds]
+    datasetNames = [ds for ds in datasetNames if ".LOGARC" not in ds]
     if args.matchingstring != '':
         if args.verbose:
             print ("Removing datasets that don't match %s" % (args.matchingstring))
diff --git a/Tools/PROCTools/python/UploadAMITag.py b/Tools/PROCTools/python/UploadAMITag.py
index 326429b403b484fc05a3b5a912865c7ae567e6ee..32f1bde28912e2cfc0993f72043fe8ab4a1571ba 100755
--- a/Tools/PROCTools/python/UploadAMITag.py
+++ b/Tools/PROCTools/python/UploadAMITag.py
@@ -2,8 +2,6 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import sys,pickle,os
 
 HIProjTag="data[0-9][0-9]_hi" # Only for Pb-Pb and p-Pb collisions (this regular expression matches with both "data11_hi" and "data11_hip")
@@ -229,7 +227,7 @@ if __name__ == '__main__':
         if len(sys.argv)>8:    
             try:
                 updateConditionsTag = int(sys.argv[8])
-            except:
+            except Exception:
                 if sys.argv[8].lower() == "false":
                     updateConditionsTag = False
 
@@ -329,7 +327,7 @@ if __name__ == '__main__':
                 try:
                     #print ("key: " , key , " isOutput")
                     outputDic[key]=OutputsVsStreams[key]
-                except:
+                except Exception:
                     print ("Known outputs defined in the OutputsVsStreams dictionnary are:")
                     print (OutputsVsStreams)
                     raise RuntimeError("Don't know what to do with out key %s, please add it to OutputsVsStreams to use it"%key)
diff --git a/Tools/PROCTools/python/UploadTfAMITag.py b/Tools/PROCTools/python/UploadTfAMITag.py
index 87306fc4b99db51a5058c2b438c688fdf36ace8d..f40a4324ca2ccc9bbb7c3289ca1bfd7d08c1f7ec 100755
--- a/Tools/PROCTools/python/UploadTfAMITag.py
+++ b/Tools/PROCTools/python/UploadTfAMITag.py
@@ -281,23 +281,23 @@ if __name__ == '__main__':
         ### Update conditions
         try:
             updateConditionsTag = int(sys.argv[5])
-        except:
+        except Exception:
             if sys.argv[5].lower() == "false":
                 updateConditionsTag = False
         ### coolSource
         try:
             coolSource = sys.argv[6]
-        except:
+        except Exception:
             print ("INFO: No coolSource specified -- this defaults to fronTier")
         ### Release project
         try:
             project = sys.argv[7]
-        except:
+        except Exception:
             print ("INFO: No project specified -- this defaults to Athena")
         ### Patch Area
         try:
             patchArea = sys.argv[8]
-        except:
+        except Exception:
             print ("INFO: No patch area specified -- this defaults to the default set by Tier0")
 
     doWhat="Dunno"
@@ -390,7 +390,7 @@ if __name__ == '__main__':
                 try:
                     #print ("key: " , key , " isOutput")
                     outputDic[key]=OutputsVsStreams[key]
-                except:
+                except Exception:
                     print ("Known outputs defined in the OutputsVsStreams dictionary are:")
                     print (OutputsVsStreams)
                     raise RuntimeError("Don't know what to do with out key %s, please add it to OutputsVsStreams to use it"%key)
diff --git a/Tools/PROCTools/python/checkUPD1.py b/Tools/PROCTools/python/checkUPD1.py
index daa49e1f830c00a79f26ae1800d5beb24096679b..d208fdd5e0cb0cc609bbc9387b2ad480ce191d54 100755
--- a/Tools/PROCTools/python/checkUPD1.py
+++ b/Tools/PROCTools/python/checkUPD1.py
@@ -8,15 +8,7 @@
 #pcaltag.schema InDetAlign-RUN2-BLK-UPD4-13 
 #pcaltag.status 1
 
-from __future__ import print_function
-
-import time
 from PyCool import cool
-from collections import OrderedDict
-import json
-import urllib2  # the lib that handles the url stuff
-import logging
-from CoolRunQuery.utils.AtlRunQueryIOV    import IOVTime, IOVRange
 
 def getDBNumberFromUPD4(run, tag, foldername, connstr):
    readonly=(connstr.find('//')==-1)
@@ -29,7 +21,6 @@ def getDBNumberFromUPD4(run, tag, foldername, connstr):
    folder=dbconn.getFolder(foldername)   
    iovstart=int(run)<<32
    iovend=iovstart+0xFFFFFFFF
-   nobj=0
    objs=folder.browseObjects(iovstart,iovend,cool.ChannelSelection.all(),tag)
    for obj in objs:
       payload = obj.payload()
@@ -49,8 +40,7 @@ def getRunNumberFromUPD1(DB_number, tag, run, foldername, connstr):
    dbSvc=cool.DatabaseSvcFactory.databaseService()
    dbconn=dbSvc.openDatabase(connstr2,readonly)
    folder=dbconn.getFolder(foldername)   
-   iovstart=int(run)<<32
-   nobj=0
+   #iovstart=int(run)<<32
    objs=folder.browseObjects( cool.ValidityKeyMin,
                               #iovstart, 
                               cool.ValidityKeyMax,
@@ -69,12 +59,6 @@ def getRunNumberFromUPD1(DB_number, tag, run, foldername, connstr):
          return run_string 
    return 0
 
-      #return run_string
-      #else:
-      #   return 0
-      
-
-
 
 
 from optparse import OptionParser
diff --git a/Tools/PROCTools/python/compareNtuple.py b/Tools/PROCTools/python/compareNtuple.py
index 6cca0b221330c82edb32aae97b46846ed7de0d77..93c2e0e280b595b7eab91fe0a3cbe2458b116c62 100644
--- a/Tools/PROCTools/python/compareNtuple.py
+++ b/Tools/PROCTools/python/compareNtuple.py
@@ -2,10 +2,7 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import os,sys
-from PROCTools.getFileLists import *
 sys.argv += [ '-b' ] # tell ROOT to not use graphics
 from ROOT import TFile,TTree
 from PROCTools.diffTAGTree import diffTTree
diff --git a/Tools/PROCTools/python/compareTCTs.py b/Tools/PROCTools/python/compareTCTs.py
index 18a1d2fbd0d595a1ddd67d34f3eaa3148083697b..12a93f6a87323a53dcc2ae479286daeccb0174d9 100755
--- a/Tools/PROCTools/python/compareTCTs.py
+++ b/Tools/PROCTools/python/compareTCTs.py
@@ -2,11 +2,8 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import os,sys
 from PROCTools.getFileLists import tctPath, findTCTFiles
-from PROCTools.getFileLists import *
 sys.argv += [ '-b' ] # tell ROOT to not use graphics
 from ROOT import TFile,TTree
 from PROCTools.diffTAGTree import diffTTree
@@ -80,7 +77,7 @@ def diffPoolFiles(ref,chk,details,toIgnore = ['RecoTimingObj_p1_RAWtoESD_timings
             df.printSummary(details)
         stat=df.status()
         del df
-    except:
+    except Exception:
         print ("Exception caught while diff'ing POOL files")
         stat=True
     return stat 
@@ -102,7 +99,7 @@ def diffPickleFiles(ref,chk,details):
         #    if refer != check:
         #        print ("Expected %r; got %r " % (refer,check))
         #stat=False
-    except:
+    except Exception:
         stat=True
         print ("Exception caught while comparinging jobReport(_RecoTrf)?.gpickle files")
     return stat 
@@ -194,10 +191,10 @@ if __name__ == "__main__":
             allPatterns.insert(0, fP)
 
     if refPath is None:
-        refPath = tctPath(nRef, rRef);
+        refPath = tctPath(nRef, rRef)
 
     if valPath is None:
-        valPath = tctPath(nVal, rVal);
+        valPath = tctPath(nVal, rVal)
 
     if not os.access(refPath, os.R_OK):
         print ("Can't access output of reference TCT at",refPath)
@@ -307,7 +304,7 @@ if __name__ == "__main__":
             cpu_r=info[0].cpulist[1]
             cpu_v=info[1].cpulist[1]
             if (cpu_r>0 and cpu_v>0):
-                ratio=100.0*(cpu_v-cpu_r)/cpu_r;
+                ratio=100.0*(cpu_v-cpu_r)/cpu_r
                 ln="\tESD CPU: %i -> %i (%.2f%%)" %  (cpu_r,cpu_v,ratio)
                 if abs(ratio)>15:
                     print (ln+"***")
@@ -319,7 +316,7 @@ if __name__ == "__main__":
             cpu_r=info[0].cpulist[4]
             cpu_v=info[1].cpulist[4]
             if (cpu_r>0 and cpu_v>0):
-                ratio=100.0*(cpu_v-cpu_r)/cpu_r;
+                ratio=100.0*(cpu_v-cpu_r)/cpu_r
                 ln="\tAOD CPU: %i -> %i (%.2f%%)" %  (cpu_r,cpu_v,ratio)
                 if abs(ratio)>15:
                     print (ln+"***")
@@ -331,7 +328,7 @@ if __name__ == "__main__":
             mem_r=info[0].memlist[1]
             mem_v=info[1].memlist[1]
             if (mem_r>0 and mem_v>0):
-                ratio=100.0*(mem_v-mem_r)/mem_r;
+                ratio=100.0*(mem_v-mem_r)/mem_r
                 ln="\tESD MEM: %i -> %i (%.2f%%)" %  (mem_r,mem_v,ratio)
                 if abs(ratio)>15:
                     print (ln+"***")
@@ -342,7 +339,7 @@ if __name__ == "__main__":
             mem_r=info[0].memlist[4]
             mem_v=info[1].memlist[4]
             if (mem_r>0 and mem_v>0):
-                ratio=100.0*(mem_v-mem_r)/mem_r;
+                ratio=100.0*(mem_v-mem_r)/mem_r
                 ln="\tAOD MEM: %i -> %i (%.2f%%)" %  (mem_r,mem_v,ratio)
                 if abs(ratio)>15:
                     print (ln+"***")
diff --git a/Tools/PROCTools/python/copyTCTOutput.py b/Tools/PROCTools/python/copyTCTOutput.py
index defa11b9a7f9a72871dfd8a94b288d20c94a5395..aaa1f43ded1fba1871450f06d0991e3ef0cb17bc 100755
--- a/Tools/PROCTools/python/copyTCTOutput.py
+++ b/Tools/PROCTools/python/copyTCTOutput.py
@@ -2,11 +2,8 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
-import sys,os,shutil,getFileLists
+import sys,os,shutil
 from PROCTools.getFileLists import findTCTFiles
-from PROCTools.getFileLists import *
 import six
 
 from future import standard_library
@@ -38,7 +35,7 @@ def getFileSize(pfn):
         try:
             statinfo=os.stat(pfn)
             size=statinfo[6]
-        except:
+        except Exception:
             print ("Can't acess regular file: ",pfn)
         return size
 
diff --git a/Tools/PROCTools/python/diffTAGTree.py b/Tools/PROCTools/python/diffTAGTree.py
index cd7f98d197745cedd7c7ffdaff29a80e9cbf28d7..050688aabb96102d8a567ad764cb004b729a3c55 100755
--- a/Tools/PROCTools/python/diffTAGTree.py
+++ b/Tools/PROCTools/python/diffTAGTree.py
@@ -2,11 +2,9 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import sys,os
 sys.argv += [ '-b' ] # tell ROOT to not use graphics
-from ROOT import TFile, TTree
+from ROOT import TFile
 sys.argv.pop()
 
 setIgnoreLeaves=("Token","StreamESD_ref","StreamRDO_ref","StreamAOD_ref","RecoTimeRAWtoESD","RecoTimeESDtoAOD","RecoTimeRAWtoALL","JetMissingETWord")
@@ -29,13 +27,13 @@ def diffTTree(tOld,tNew,details=None):
     
     for l in leavesOld:
         name=l.GetName()
-        if not name in setIgnoreLeaves:
+        if name not in setIgnoreLeaves:
             checkLeavesOld.add(name)
 
     checkLeavesNew=set()
     for l in leavesNew:
         name=l.GetName()
-        if not name in setIgnoreLeaves:
+        if name not in setIgnoreLeaves:
             checkLeavesNew.add(name)
     
     #print checkLeavesOld
@@ -91,7 +89,7 @@ def diffTTree(tOld,tNew,details=None):
                     
                     evId="(Run %i, Evt %i)" % (rn, evt)
                     evId+="(Run %i, Evt %i)" % (rnO, evtO)
-                except:
+                except Exception:
                     evId=""
                     
                 #print "Event #",iEntry,"Difference:",name,
@@ -101,7 +99,7 @@ def diffTTree(tOld,tNew,details=None):
                 try:
                     d=100.0*(vNew-vOld)/vOld
                     diffmsg+=" (%.3f%%)" % d
-                except:
+                except Exception:
                     pass
                 if details is not None:
                     details.write(diffmsg+"\n")
diff --git a/Tools/PROCTools/python/getCurrentCOMCONDTag.py b/Tools/PROCTools/python/getCurrentCOMCONDTag.py
index a4585634bc4aaba3cca959a1edde682a8ed1d017..6f066a8eb1761ec24eb3fe8ed9d8f225d378d64c 100755
--- a/Tools/PROCTools/python/getCurrentCOMCONDTag.py
+++ b/Tools/PROCTools/python/getCurrentCOMCONDTag.py
@@ -4,10 +4,7 @@
 
 # To know the CURRENT COMCOND tag.
 
-from __future__ import print_function
-
 import sys
-from PyCool import cool
 sys.path.append('/afs/cern.ch/user/a/atlcond/utils/python/')
 from AtlCoolBKLib import resolveAlias
 
diff --git a/Tools/PROCTools/python/getFileLists.py b/Tools/PROCTools/python/getFileLists.py
index 66aee20c85fe11e43d5bf9e4ebc4012623c2cda6..d95924aab02b1074a7b3e2bea14cd7c011219981 100644
--- a/Tools/PROCTools/python/getFileLists.py
+++ b/Tools/PROCTools/python/getFileLists.py
@@ -1,12 +1,10 @@
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
-import os,sys
+import os
+import sys
 from xml.dom.minidom import parse
 from time import time
 import re
-from string import *
 import json
 import six
 
@@ -22,7 +20,7 @@ class TCTChainInfo:
     def __init__(self,dir,log,runEventIn=()):
         self.directory=dir
         self.logfile=log
-        self.eventlist=runEventIn;
+        self.eventlist=runEventIn
         self.loglines=0
         self.cpulist=()
         self.memlist=()
@@ -43,7 +41,7 @@ class findTCTFiles:
     def checkFileAge(self,path):
         try:
             fileTime = os.stat(path)[8]
-        except:
+        except Exception:
             return
         age = time() - fileTime
 
@@ -97,7 +95,7 @@ class findTCTFiles:
         
         try:
             lf = open(tci.logfile,"r")
-        except:
+        except Exception:
             return None
 
         # loop through the log file and find all the output files being validated
diff --git a/Tools/PROCTools/python/outputTest_v2.py b/Tools/PROCTools/python/outputTest_v2.py
index 3def3286d2dac653bc69b2f0346efea9b26b5f83..7b3cbeec2b864ebabdb51f10e5d656098ccac23a 100755
--- a/Tools/PROCTools/python/outputTest_v2.py
+++ b/Tools/PROCTools/python/outputTest_v2.py
@@ -2,28 +2,24 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
-import os
 from optparse import OptionParser
 
 
 
 physicsStreams = ["physics_Main","physics_MinBias","physics_MinBiasOverlay","physics_ZeroBias","physics_HardProbes",
                   "physics_TauOverlay","physics_CosmicCalo", "physics_CosmicMuons","physics_IDCosmic",
-                    "physics_HLT_IDCosmic","physics_Standby","physics_Late","physics_L1Calo","physics_L1Topo",
-                    "express_express"] 
+                  "physics_HLT_IDCosmic","physics_Standby","physics_Late","physics_L1Calo","physics_L1Topo",
+                  "express_express"]
 
 
 monitoringStreams = ["calibration_Background","calibration_beamspot","calibration_IBLLumi","calibration_PixelBeam", 
-                         "caibration_vdM", "calibration_PIxelNoise", "calibration_SCTNoise", "calibration_IDTracks",
-                         "calibration_LArCells","calibration_LArCellsEmpty","calibration_LArNoiseBurst","calibration_Tile"
-                         "calibration_MuonAll","calibration_CostMonitoring"]
+                     "caibration_vdM", "calibration_PIxelNoise", "calibration_SCTNoise", "calibration_IDTracks",
+                     "calibration_LArCells","calibration_LArCellsEmpty","calibration_LArNoiseBurst","calibration_Tile"
+                     "calibration_MuonAll","calibration_CostMonitoring"]
 
 otherStream = ["calibration_IDFwd","calibration_ALFA","calibration_DataScoutingXX","debugrec_hltacc","debugrec_hltrej","debugrec_crashed"] 
 
 def readJson(filename):
-    import json
     s = open(filename, 'r').read()
     outputs =  eval(s)
     #print (outputs)
@@ -49,7 +45,7 @@ parser.add_option("-f","--filename"    ,type="string"        ,dest="filename"
 if options.filename:
     try:
         outputs = readJson(options.filename)
-    except:
+    except Exception:
         print()
         print ("WARNING: file with dict %s not available... using default outputs dict" %(options.filename))
         print()
diff --git a/Tools/PROCTools/python/provideTwikiSummary.py b/Tools/PROCTools/python/provideTwikiSummary.py
index af0a6d22d20a9d6874dd4cb348caab65acb3e4c1..d211fc30759177ce3fd6b38143125b87ba969575 100755
--- a/Tools/PROCTools/python/provideTwikiSummary.py
+++ b/Tools/PROCTools/python/provideTwikiSummary.py
@@ -2,8 +2,6 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import os
 
 def readReleaseList():
@@ -12,7 +10,7 @@ def readReleaseList():
     for line in f:
         try:
             release_list.append(line.split()[0])
-        except:
+        except Exception:
             pass
     return release_list
 
@@ -107,7 +105,7 @@ def writeManyFiles(release_list):
     for idx,ref in enumerate(release_list):
         try:
             val = release_list[idx+1]
-        except:
+        except Exception:
             return 0
         #print (rel, val)
         execute_all_steps(ref,val)
diff --git a/Tools/PROCTools/python/root_lsr_rank.py b/Tools/PROCTools/python/root_lsr_rank.py
index 61a417cb9ca76c4e7b5ef4a8c5a25a15721bb866..12e3d0b93f08058dd7d8f12788d1f81d4fd78ccc 100644
--- a/Tools/PROCTools/python/root_lsr_rank.py
+++ b/Tools/PROCTools/python/root_lsr_rank.py
@@ -9,12 +9,10 @@
 # it produces a listing of all objects in the HIST file and a hash value for each of them.  This output can then be compared between the clean and patched runs to look 
 # for any changes in HIST output.  Since it's entirely possible to change the HIST output unintentionally without changing the AOD/ESD etc., this catches a new class of potential errors.
 
-from __future__ import print_function
-
 import ROOT
-import sys, os, operator
+import sys
+import os
 import argparse
-import zlib
 
 parser=argparse.ArgumentParser()
 parser.add_argument('filename',
@@ -32,7 +30,9 @@ args=parser.parse_args()
 
 ordering = args.rankorder
 
-accounting = {}; hashes = {}; types = {}
+accounting = {}
+hashes = {}
+types = {}
 
 ROOT.gInterpreter.LoadText("UInt_t bufferhash(TKey* key) { key->SetBuffer(); key->ReadFile(); UInt_t rv = TString::Hash(key->GetBuffer()+key->GetKeylen(), key->GetNbytes()-key->GetKeylen()); key->DeleteBuffer(); return rv; }")
 ROOT.gInterpreter.LoadText("void* getbuffer(TKey* key) { key->SetBuffer(); key->ReadFile(); return (void*) (key->GetBuffer()+key->GetKeylen()); }")
@@ -89,11 +89,11 @@ dumpdir(d)
 
 #sortedl = sorted(accounting.items(), key=operator.itemgetter(0,1), reverse=True)
 if ordering == 'onfile':
-    key=lambda x: (x[1][1], x[1][0], x[0])
+    key=lambda x: (x[1][1], x[1][0], x[0])  # noqa: E731
 elif ordering == 'uncompressed':
-    key=lambda x: (x[1][0], x[1][1], x[0])
+    key=lambda x: (x[1][0], x[1][1], x[0])  # noqa: E731
 else:
-    key=lambda x: (x[0], x[1][1], x[1][0])
+    key=lambda x: (x[0], x[1][1], x[1][0])  # noqa: E731
 sortedl = sorted(accounting.items(), key=key, reverse=True)
 if args.hash:
     print ('\n'.join('%s %s: %d uncompressed, %d on file (hash %s)' % (types[a], a, b, c, hashes[a]) for a, (b, c) in  sortedl))
diff --git a/Tools/PROCTools/python/showOutput.py b/Tools/PROCTools/python/showOutput.py
index c4ac2f91e270980910dc792a6cb8f1d5d1e868eb..e7d98748c3ee7bf8f77966dde5bcb55b463756da 100755
--- a/Tools/PROCTools/python/showOutput.py
+++ b/Tools/PROCTools/python/showOutput.py
@@ -2,10 +2,8 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
-import re,sys,os
-from string import *
+import re
+import sys
 import six
 
 def getOutputDictFromAMI(tag):
diff --git a/Tools/PROCTools/python/testIfMatch.py b/Tools/PROCTools/python/testIfMatch.py
index 34a51e38316ee1fa893d2ee1126ca6be60790359..b0817c23606ebe37c9d9abf7630468934b8a6470 100755
--- a/Tools/PROCTools/python/testIfMatch.py
+++ b/Tools/PROCTools/python/testIfMatch.py
@@ -2,10 +2,7 @@
 
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
-from __future__ import print_function
-
 import re,sys,os
-from string import *
 import six
 
 from future import standard_library