code: def watch_file(path, func, *args, **kwargs):
      
      if not path:
          raise ValueError('Please specify a file to watch')
      print('Watching "{}" for changes'.format(path))
      last_modification_time = os.path.getmtime(path)
      try:
          while True:
              time.sleep(1)
              new_modification_time = os.path.getmtime(path)
              if new_modification_time == last_modification_time:
                  continue
              func(*args, **kwargs)
              last_modification_time = new_modification_time
      except KeyboardInterrupt:
          pass
docs: Watch a file for changes by polling its last modification time. Call the
      provided function with *args and **kwargs upon modification.