# Dosya Sistemi API

`HfFileSystem` sınıfı, [`fsspec`](https://filesystem-spec.readthedocs.io/en/latest/) tabanlı olarak Hugging Face Hub için pythonik bir dosya arayüzü sağlar.

## HfFileSystem[[huggingface_hub.HfFileSystem]]

`HfFileSystem`, [fsspec](https://filesystem-spec.readthedocs.io/en/latest/) üzerine kuruludur; bu nedenle sunduğu API'lerin çoğuyla uyumludur. Daha fazla ayrıntı için [kılavuzumuza](../guides/hf_file_system) ve fsspec'in [API Referansı](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem)'na göz atın.

#### huggingface_hub.HfFileSystem[[huggingface_hub.HfFileSystem]]

```python
huggingface_hub.HfFileSystem(*args, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L370)

**Parametreler:**

endpoint (`str`, *isteğe bağlı*) : Hub'un uç noktası. Varsayılan olarak .

token (`bool` veya `str`, *isteğe bağlı*) : Geçerli bir kullanıcı erişim belirteci (dize). Varsayılan olarak, kimlik doğrulama için önerilen yöntem olan yerel olarak kaydedilmiş belirteç kullanılır (bkz. https://huggingface.co/docs/huggingface_hub/quick-start#authentication). Kimlik doğrulamayı devre dışı bırakmak için `False` geçirin.

block_size (`int`, *isteğe bağlı*) : Dosyaları okuma ve yazma için blok boyutu.

expand_info (`bool`, *isteğe bağlı*) : Dosyaların bilgisinin genişletilip genişletilmeyeceği.

max_workers (`int`, *isteğe bağlı*) : Büyük dizinleri paralel olarak listelemek için kullanılan eşzamanlı isteklerin maksimum sayısı (bkz. [find()](/docs/huggingface_hub/v2.4.0/tr/package_reference/hf_file_system#huggingface_hub.HfFileSystem.find)). Varsayılan değer 16'dır. Paralel listelemeyi devre dışı bırakmak için 1 olarak ayarlayın.

live_follow (`bool`, *isteğe bağlı*) : Hub'da gerçekleşen değişikliklere göre bucket'lardaki dosya değişikliklerini takip edip etmeyeceğini belirtir; böylece manuel [HfFileSystem.invalidate_cache()](/docs/huggingface_hub/v2.4.0/tr/package_reference/hf_file_system#huggingface_hub.HfFileSystem.invalidate_cache) çağrıları olmadan önbellekteki listeler güncel kalır. Etkinleştirildiğinde, bir bucket'ın listelenmesi, o bucket için Hub olay akışına arka planda bir bağlantı açar. Model, veri seti ve space depoları üzerinde hiçbir etkisi yoktur (Hub, bu depolar için değişiklik akışı sağlamaz).

- ****storage_options** (`dict`, *isteğe bağlı*) : Dosya sistemi için ek seçenekler. [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.__init__)'ne bakın.

Uzak bir Hugging Face Hub deposuna, yerel bir dosya sistemiymiş gibi erişin.

> [!WARNING]
> [HfFileSystem](/docs/huggingface_hub/v2.4.0/tr/package_reference/hf_file_system#huggingface_hub.HfFileSystem), bunu gerektiren kütüphaneler için (örneğin `pandas` ile Hugging Face veri setlerini doğrudan okuma) fsspec uyumluluğu sağlar. Ancak bu uyumluluk katmanı ek bir yük getirir. Daha iyi performans ve güvenilirlik için mümkün olduğunda `HfApi` yöntemlerinin kullanılması önerilir.

Dosya sistemi, `hf://` protokolü için yolları destekler ve bu protokol aşağıdaki URL şemalarını izler:

* Modeller, Veri Setleri ve Spaces depoları:

```
hf://<repo-id>[@<revision>]/<path/in/repo>
hf://datasets/<repo-id>[@<revision>]/<path/in/repo>
hf://spaces/<repo-id>[@<revision>]/<path/in/repo>
```

* Buckets (jenerik depolama):

```
hf://buckets/<bucket-id>/<path/in/bucket>
```

Not: [HfFileSystem](/docs/huggingface_hub/v2.4.0/tr/package_reference/hf_file_system#huggingface_hub.HfFileSystem) doğrudan kullanıldığında, yollarda `hf://` protokol önekinin verilmesi isteğe bağlıdır.

Kullanım:

```python
>>> from huggingface_hub import hffs

>>> # List files
>>> hffs.glob("my-username/my-model/*.bin")
['my-username/my-model/pytorch_model.bin']
>>> hffs.ls("datasets/my-username/my-dataset", detail=False)
['datasets/my-username/my-dataset/.gitattributes', 'datasets/my-username/my-dataset/README.md', 'datasets/my-username/my-dataset/data.json']

>>> # Read/write files
>>> with hffs.open("my-username/my-model/pytorch_model.bin") as f:
...     data = f.read()
>>> with hffs.open("my-username/my-model/pytorch_model.bin", "wb") as f:
...     f.write(data)
```

Kimlik doğrulama için bir belirteç belirtin:
```python
>>> from huggingface_hub import HfFileSystem
>>> hffs = HfFileSystem(token=token)
```

#### cp_file[[huggingface_hub.HfFileSystem.cp_file]]

```python
cp_file(path1: str, path2: str, revision: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1115)

**Parametreler:**

path1 (`str`) : Kopyalanacak kaynak yol.

path2 (`str`) : Kopyalanacak hedef yol.

revision (`str`, *isteğe bağlı*) : Kopyalanacak git revizyonu.

Bir dosyayı depoların içinde veya depolar arasında kopyalayın ya da bir kovaya aktarın.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.upload_file()` kullanın.

#### var[[huggingface_hub.HfFileSystem.exists]]

```python
exists(path, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1336)

**Parametreler:**

path (`str`) : Kontrol edilecek yol.

**Dönüş:** `bool`

Dosya varsa True, aksi halde False.

Bir dosyanın var olup olmadığını kontrol edin.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.exists)'ne başvurun.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.file_exists()` kullanın.

#### bul[[huggingface_hub.HfFileSystem.find]]

```python
find(path: str, maxdepth: int | None = None, withdirs: bool = False, detail: bool = False, refresh: bool = False, revision: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1051)

**Parametreler:**

path (`str`) : Listelenen dosyaların kök yolu.

maxdepth (`int`, *isteğe bağlı*) : Alt dizinlere inilecek maksimum derinlik.

withdirs (`bool`, *isteğe bağlı*) : Çıktıda dizin yollarını dahil edin. Varsayılan olarak False.

detail (`bool`, *isteğe bağlı*) : True ise, yolları dosya bilgilerine eşleyen bir sözlük döndürür. Varsayılan olarak False'tur.

refresh (`bool`, *isteğe bağlı*) : True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan olarak False'dur.

revision (`str`, *isteğe bağlı*) : Listelenmesi istenen git revizyonu.

**Dönüş:** `Union[list[str], dict[str, dict[str, Any]]]`

Yol listesi veya dosya bilgisi sözlüğü.

Yolun altındaki tüm dosyaları listele.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.find)'ne başvurun.

> [!TIP]
> Büyük depolar, Hub `tree` uç noktasının imleç tabanlı sayfalama kısıtlamasını aşmak için dizin dizin ve paralel olarak listelenir. Bunu [HfFileSystem](/docs/huggingface_hub/v2.4.0/tr/package_reference/hf_file_system#huggingface_hub.HfFileSystem)'in `max_workers` argümanı ile ayarlayabilirsiniz.

#### get_file[[huggingface_hub.HfFileSystem.get_file]]

```python
get_file(rpath, lpath = None, callback = <fsspec.callbacks.NoOpCallback object at 0x7f9673955c90>, outfile = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1444)

**Parametreler:**

rpath (`str`) : İndirme yapılacak uzak yol.

lpath (`str`, *isteğe bağlı*) : İndirilecek yerel yol. `outfile` sağlanırsa atlanabilir.

callback (`Callback`, *isteğe bağlı*) : İndirme ilerlemesini izlemek için isteğe bağlı geri çağırma. Varsayılan olarak geri çağırma yoktur.

outfile (`IO`, *isteğe bağlı*) : Yazılacak isteğe bağlı dosya benzeri nesne. Sağlanırsa `lpath` yok sayılır.

Tek bir uzak dosyayı yerel olarak kopyala.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.hf_hub_download()` veya `HfApi.download_bucket_files` kullanın.

#### glob[[huggingface_hub.HfFileSystem.glob]]

```python
glob(path: str, maxdepth: int | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1033)

**Parametreler:**

path (`str`) : Eşleşecek yol deseni.

maxdepth (`int`, *isteğe bağlı*) : Dizinlere inilecek maksimum derinlik. Varsayılan olarak, sınırlama yoktur.

**Dönüş:** `list[str]`

Deseni eşleşen yolların listesi.

Dosyaları glob eşleştirme ile bulun.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.glob)'ne başvurun.

#### info[[huggingface_hub.HfFileSystem.info]]

```python
info(path: str, refresh: bool = False, revision: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1226)

**Parametreler:**

path (`str`) : Bilgi alınacak yol.

refresh (`bool`, *isteğe bağlı*) : True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan olarak False'dur.

revision (`str`, *isteğe bağlı*) : Bilgilerin alınacağı git revizyonu.

**Dönüş:** `dict[str, Any]`

Dosya bilgilerini (tür, boyut, commit bilgisi vb.) içeren sözlük.

Bir dosya veya dizin hakkında bilgi alın.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.info)'ne başvurun.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.get_paths_info()` veya `HfApi.repo_info()` (veya bucket'lar için `HfApi.get_bucket_paths_info()` veya `HfApi.bucket_info()`) kullanın

#### invalidate_cache[[huggingface_hub.HfFileSystem.invalidate_cache]]

```python
invalidate_cache(path: str | None = None)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L599)

**Parametreler:**

path (`str`, *isteğe bağlı*) : Önbellekten temizlenecek yol. Verilmezse, tüm önbellek temizlenir.

Belirtilen yol için önbelleği temizleyin.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.invalidate_cache)'ne başvurun.

#### isdir[[huggingface_hub.HfFileSystem.isdir]]

```python
isdir(path)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1361)

**Parametreler:**

path (`str`) : Kontrol edilecek yol.

**Dönüş:** `bool`

path bir dizinse True, aksi halde False.

Bir yolun dizini olup olmadığını kontrol edin.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.isdir)'ne başvurun.

#### isfile[[huggingface_hub.HfFileSystem.isfile]]

```python
isfile(path)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1379)

**Parametreler:**

path (`str`) : Kontrol edilecek yol.

**Dönüş:** `bool`

path bir dosyaysa True, aksi halde False.

Bir yolun dosya olup olmadığını kontrol edin.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.isfile)'ne başvurun.

#### ls[[huggingface_hub.HfFileSystem.ls]]

```python
ls(path: str, detail: bool = True, refresh: bool = False, revision: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L788)

**Parametreler:**

path (`str`) : Dizinin yolu.

detail (`bool`, *isteğe bağlı*) : True ise, dosya bilgilerini içeren sözlüklerden oluşan bir liste döndürür. False ise, dosya yollarından oluşan bir liste döndürür. Varsayılan değer True'dur.

refresh (`bool`, *isteğe bağlı*) : True ise önbelleği atlayıp en güncel verileri getirir. Varsayılan olarak False'dur.

revision (`str`, *isteğe bağlı*) : Listelenmesi istenen git revizyonu.

**Dönüş:** `list[Union[str, dict[str, Any]]]`

Dosya yolu listesi (detail=False ise) veya dosya bilgi sözlükleri listesi (detail=True ise).

Bir dizinin içeriğini listele.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.ls)'ne başvurun.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.list_repo_tree()` kullanın.

#### değiştirildi[[huggingface_hub.HfFileSystem.modified]]

```python
modified(path: str, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1201)

**Parametreler:**

path (`str`) : Dosyanın yolu.

**Dönüş:** `datetime`

Dosyanın son değiştirilme zamanı.

Bir dosyanın son değiştirilme zamanını alın.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.modified)'ne başvurun.

#### resolve_path[[huggingface_hub.HfFileSystem.resolve_path]]

```python
resolve_path(path: str, revision: str | None = None)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L520)

**Parametreler:**

path (`str`) : Çözümlenecek yol.

revision (`str`, *isteğe bağlı*) : Çözümlenecek repo revizyonu. Varsayılan olarak, yolda belirtilen revizyondur.

**Dönüş:** `HfFileSystemResolvedPath`

`repo_type`, `repo_id`, `revision` ve `path_in_repo` içeren çözümlenmiş yol bilgisi.

**Yükselen:** ``ValueError`` veya ``NotImplementedError``

- ``ValueError`` -- Yol, çelişkili revizyon bilgisi içeriyorsa.
- ``NotImplementedError`` -- Depoları listelemeye çalışırken.

Hugging Face dosya sistemi yolunu bileşenlerine ayırın.

#### rm[[huggingface_hub.HfFileSystem.rm]]

```python
rm(path: str, recursive: bool = False, maxdepth: int | None = None, revision: str | None = None, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L738)

**Parametreler:**

path (`str`) : Silinecek yol.

recursive (`bool`, *isteğe bağlı*) : True ise, dizini ve tüm içeriğini siler. Varsayılan olarak False.

maxdepth (`int`, *isteğe bağlı*) : Özyinelemeli olarak silerken ziyaret edilecek alt dizinlerin maksimum sayısı.

revision (`str`, *isteğe bağlı*) : Silme işlemine başlanacak git revizyonu.

Bir depodan dosyaları silin.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.rm)'ne başvurun.

> [!WARNING]
> Not: Mümkün olduğunda daha iyi performans için `HfApi.delete_file()` kullanın.

#### url[[huggingface_hub.HfFileSystem.url]]

```python
url(path: str)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1397)

**Parametreler:**

path (`str`) : URL'nin alınacağı yol.

**Dönüş:** `str`

Hub'daki dosyaya veya dizine erişmek için HTTP URL'si.

Verilen yolun HTTP URL'sini alın.

#### yürü[[huggingface_hub.HfFileSystem.walk]]

```python
walk(path: str, *args, **kwargs)
```

[Kaynak](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/hf_file_system.py#L1017)

**Parametreler:**

path (`str`) : Listelenen dosyaların kök yolu.

**Dönüş:** `Iterator[tuple[str, list[str], list[str]]]`

(path, dizin adları listesi, dosya adları listesi) demetlerinin bir iteratörü.

Verilen yolun altındaki tüm dosyaları döndürür.

Daha fazla ayrıntı için [fsspec belgeleri](https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.walk)'ne başvurun.

