"glob" --- Unix tarzı yol adı kalıp açılımı
*******************************************

**Kaynak kod** Lib/glob.py

======================================================================

"glob" modülü Unix kabuğu tarafından kullanılan kurallarına uyarak
spesifik desenlerle eşleşen tüm yol adlarını bulur ve sonucu
gelişigüzel bir sırada ile döndürür. Tilde açılımı yapılmaz fakat "[]"
içinde ifade edilen karakter aralığı ve "*", "?" karakterleri
eşleştirilir. Bu işlem "os.scandir()" ve "fnmatch.fnmatch()"
fonksiyonlarının birlikte çalışması ile olur ve bir altkabuk
çağırılmaz.

Dikkat edilmeli ki "fnmatch.fnmatch()" veya "pathlib.Path.glob()"
aksine, nokta (".") ile başlayan dosyalar sadece nokta ile başlayan
desenler ile eşleştirilebilir. (Tilde ve kabuk değişken açılımları
için "os.path.expanduser()" ve "os.path.expandvars()" kullanın.)

Harfi harfine eşleşme için meta-karakter'leri köşeli parantez içine
koyun. Örneğin, "'[?]'" deseni "'?'" karakteri ile eşleşir.

Ayrıca bakınız:

  "pathlib" modülü yüksek-seviye dizin yolu nesneleri döndürür.

glob.glob(pathname, *, root_dir=None, dir_fd=None, recursive=False, include_hidden=False)

   *pathname* ile eşleşen bir liste döndürür ve bu boş liste de
   olabilir. *pathname*, dizin yolu belirtimi içeren bir string
   olmalıdır. *pathname* hem mutlak (örneğin
   "/usr/src/Python-1.5/Makefile") hem de göreceli (örneğin
   "../../Tools/*/*.gif") olabilir ve kabuk-tarzı joker karakterler de
   içerebilir. Bozuk sembolik bağlantılar de sonuçlara dahil edilir
   (kabukta olduğu gibi). Sonucun sıralanmış olup olmaması dosya
   sistemine bağlıdır. Eğer eşleşmeye uyan bir dosya bu fonksiyonun
   çağrılması sırasında kaldırılırsa veya eklenirse dönüş değerinde
   dosyanın bulunup bulunmayacağı belirsizdir.

   Eğer *root_dir* "None" değilse, arama için kök dizini belirten bir
   *yol benzeri nesne* olmalıdır. Bu, "glob()" fonksiyonu üzerinde,
   fonksiyonu çağırmadan önce geçerli dizini değiştirmekle aynı etkiyi
   yaratır. Eğer *pathname* göreceli bir yol ise, sonuç *root_dir*'den
   itibaren oluşturulmuş göreceli yolları içerir.

   Bu fonksiyon *dir_fd* parametresi ile dizin tanımlayıcılarına göre
   dosya yolları destekler .

   Eğer *recursive* True ise ""**"" deseni tüm dosyaları ve sıfır veya
   daha fazla dizin, alt dizin ve dizinlere işaret eden sembolik
   bağlantılarla eşleşir. Eğer desen ardından "os.sep" veya
   "os.altsep" gelirse dosyalar eşlenmez.

   Eğer *include_hidden* True ise, ""**"" deseni gizli dizinleri de
   eşler.

   "pathname", "recursive" argümanları ile "glob.glob" fonksiyonu için
   bir denetim olayı tetikler.

   "pathname", "recursive" , "root_dir", "dir_fd" argümanları ile
   "glob.glob/2" fonksiyonu için bir denetim olayı tetikler.

   Not:

     ""**"" deseninin geniş dizin ağaçlarıyla kullanımı aşırı derecede
     zaman harcar.

   Not:

     Eğer *pathname* birden fazla ""**"" deseni içerirse ve
     *recursive* True ise fonksiyon tekrar eden yol adları
     döndürebilir.

   3.5 sürümünde değişti: ""**"" kullanarak yinelemeli glob'lar için
   destek eklendi.

   3.10 sürümünde değişti: *root_dir* ve *dir_fd* parametreleri
   eklendi.

   3.11 sürümünde değişti: *include_hidden* parametresi eklendi.

glob.iglob(pathname, *, root_dir=None, dir_fd=None, recursive=False, include_hidden=False)

   "glob()" fonksiyonuyla aynı değerleri döndüren fakat eş zamanlı
   olarak saklamayan bir *yineleyici* döndürür.

   "pathname", "recursive" argümanları ile "glob.glob" fonksiyonu için
   bir denetim olayı tetikler.

   "pathname", "recursive" , "root_dir", "dir_fd" argümanları ile
   "glob.glob/2" fonksiyonu için bir denetim olayı tetikler.

   Not:

     Eğer *pathname* birden fazla ""**"" deseni içerirse ve
     *recursive* True ise fonksiyon tekrar eden yol adları
     döndürebilir.

   3.5 sürümünde değişti: ""**"" kullanarak yinelemeli glob'lar için
   destek eklendi.

   3.10 sürümünde değişti: *root_dir* ve *dir_fd* parametreleri
   eklendi.

   3.11 sürümünde değişti: *include_hidden* parametresi eklendi.

glob.escape(pathname)

   Tüm özel karakterlerden ("'?'", "'*'" and "'['") kaçar. Eğer özel
   karakterler içerme ihtimali olan belirsiz bir dizini harfi harfine
   eşleştirmek istiyorsanız faydalıdır. Sürücü/UNC paylaşım
   noktalarındaki özel karakterler kaçırılamaz; örneğin Windows'ta
   "escape('//?/c:/Quo vadis?.txt')" "'//?/c:/Quo vadis[?].txt'"
   döndürür.

   Added in version 3.4.

Örneğin, "1.gif", "2.txt", "card.gif" dosyalarını içeren bir dizin ve
"sub" adında sadece "3.txt" dosyasını içeren bir alt dizin düşünün.
"glob()" aşağıdaki sonuçları üretir. Yolun başlangıç bileşenlerinin
nasıl korunduğuna dikkat edin.

   >>> import glob
   >>> glob.glob('./[0-9].*')
   ['./1.gif', './2.txt']
   >>> glob.glob('*.gif')
   ['1.gif', 'card.gif']
   >>> glob.glob('?.gif')
   ['1.gif']
   >>> glob.glob('**/*.txt', recursive=True)
   ['2.txt', 'sub/3.txt']
   >>> glob.glob('./**/', recursive=True)
   ['./', './sub/']

Eğer dizin "." ile başlayan dosyalar içeriyorsa varsayılan olarak
eşleştirilmezler. Örneğin, "card.gif" and ".card.gif":: dosyalarını
içeren bir dizin düşünün.

   >>> import glob
   >>> glob.glob('*.gif')
   ['card.gif']
   >>> glob.glob('.c*')
   ['.card.gif']

Ayrıca bakınız:

  Modül "fnmatch"
     Kabuk-tarzı dosya ismi (yol adı değil) açılımı
