From 1027433a4e150eebf7d91b54d8621813f8022e6f Mon Sep 17 00:00:00 2001 From: Christian Herdtweck Date: Wed, 15 Jun 2016 09:55:16 +0200 Subject: [PATCH] reduce time wasted on _dbg output: format string only when it is actually printed --- deltatar/tarfile.py | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) diff --git a/deltatar/tarfile.py b/deltatar/tarfile.py index ffc6cb8..ca5d557 100644 --- a/deltatar/tarfile.py +++ b/deltatar/tarfile.py @@ -2525,8 +2525,7 @@ class TarFile(object): if hasattr(fileobj, "mode"): self._mode = fileobj.mode self._extfileobj = True - self._dbg(3, 'open_volume: using external fileobj {}' - .format(fileobj)) + self._dbg(3, 'open_volume: using external fileobj {}', fileobj) self.name = os.path.abspath(name) if name else None self.fileobj = fileobj @@ -3006,11 +3005,11 @@ class TarFile(object): else: return TarIter(self) - def _dbg(self, level, msg): + def _dbg(self, level, msg, *args): """Write debugging output to sys.stderr. """ if level <= self.debug: - print(msg, file=sys.stderr) + print(msg.format(*args), file=sys.stderr) def __enter__(self): self._check() -- 1.7.1