File.delete_

Deletes a file. If the file is a directory, it will only be deleted if it is empty. This has the same semantics as glib.global.unlink.

If file doesn’t exist, gio.types.IOErrorEnum.NotFound will be returned. This allows for deletion to be implemented avoiding time-of-check to time-of-use races:

g_autoptr(GError) local_error = NULL;
if (!g_file_delete (my_file, my_cancellable, &local_error) &&
    !g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
  {
    // deletion failed for some reason other than the file not existing:
    // so report the error
    g_warning ("Failed to delete %s: %s",
               g_file_peek_path (my_file), local_error->message);
  }

If cancellable is not null, then the operation can be cancelled by triggering the cancellable object from another thread. If the operation was cancelled, the error gio.types.IOErrorEnum.Cancelled will be returned.

interface File
bool
delete_

Parameters

cancellable gio.cancellable.Cancellable

optional #GCancellable object, null to ignore

Return Value

Type: bool

true if the file was deleted. false otherwise.