Удаление файла из Google Cloud с помощью fsspec

сейчас я использую fsspecдля чтения и записи файлов в мои облачные корзины Google с кодом, как показано ниже:

      with fs.open(gcs_file_tmp, "rb") as fp:
    gcs_file_content = fp.read()

Теперь я хочу удалить файл из корзины GCS, но не могу найти для него код. Читая документацию здесь , кажется, что есть некоторые rmбазовые функции, а также некоторые deleteфункции, но они, похоже, не работают, так как их нельзя назвать таковыми fs.rm(...)или так

1 ответ

fs.open()возвращает экземпляр fsspec.core.OpenFile , имеющий свойство.
Когда вы открываете файл GCS, это GCSFileSystem .
Когда вы открываете локальный файл, fsэто локальная файловая система .
Я понимаю, что fsspec поглощает разницу между файловыми системами, поскольку класс AbstractFileSystem .
Мы можем позвонить delete()этого.

Таким образом, мы должны снова передать путь к целевому файлу (мы можем использовать pathсобственность, если хотите).

      # for GCS
f = fsspec.open("gs://bucketHoge/fuga.txt")
f.fs.delete(f.path)

# for local
f = fsspec.open("/tmp/fuga.txt")
f.fs.delete(f.path)

Интересно, есть ли лучший способ...

Другие вопросы по тегам