code: def is_writable(filename):
      
      if not os.path.exists(filename):
          parentdir = os.path.dirname(filename)
          return os.path.isdir(parentdir) and os.access(parentdir, os.W_OK)
      return os.path.isfile(filename) and os.access(filename, os.W_OK)
docs: Check if
      - the file is a regular file and is writable, or
      - the file does not exist and its parent directory exists and is
        writable