Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- class Timer(object):
- def __init__(self, func=None):
- if func is None:
- func = time.perf_counter
- self._func = func
- self.reset()
- def start(self):
- if self._start is not None:
- raise RuntimeError('Already started')
- self._start = self._func()
- def stop(self):
- if self._start is None:
- raise RuntimeError('Not started')
- end = self._func()
- self.elapsed += end - self._start
- self._start = None
- def reset(self):
- self.elapsed = 0.0
- self._start = None
- @proper
- def running(self):
- return self._start is not None
- def __enter__(self):
- self.start()
- return self
- def __exit__(self, *args):
- self.stop()
Add Comment
Please, Sign In to add comment