Glob yra bendras terminas, naudojamas apibrėžti metodus, atitinkančius nurodytus modelius pagal taisykles, susijusias su Unix apvalkalu. „Linux“ ir „Unix“ sistemos ir apvalkalai taip pat palaiko „glob“ ir taip pat teikia funkcijąglob()>
sistemos bibliotekose.
Python sistemoje nuskaitymui naudojamas glob modulis failai / kelių pavadinimai atitinkantis nurodytą modelį. glob modelio taisyklės atitinka standartines Unix kelio išplėtimo taisykles. Taip pat prognozuojama, kad pagal etalonus greičiau nei kitais metodais galima suderinti kelių pavadinimus kataloguose. Naudodami glob, taip pat galime naudoti pakaitos simbolius('*, ?, [ranges])>
Be tikslios eilučių paieškos, kad kelio paieška būtų paprastesnė ir patogesnė.
Pastaba: Šis modulis yra integruotas su Python, todėl nereikia jo įdiegti iš išorės.
Pavyzdys:
vektoriaus c++ dydis
# Python program to demonstrate> # glob using different wildcards> > > import> glob> > > print> (> 'Named explicitly:'> )> for> name> in> glob.glob(> '/home/geeks/Desktop/gfg/data.txt'> ):> > print> (name)> > # Using '*' pattern> print> (> '
Named with wildcard *:'> )> for> name> in> glob.glob(> '/home/geeks/Desktop/gfg/*'> ):> > print> (name)> > # Using '?' pattern> print> (> '
Named with wildcard ?:'> )> for> name> in> glob.glob(> '/home/geeks/Desktop/gfg/data?.txt'> ):> > print> (name)> > # Using [0-9] pattern> print> (> '
Named with wildcard ranges:'> )> for> name> in> glob.glob(> '/home/geeks/Desktop/gfg/*[0-9].*'> ):> > print> (name)> |
>
>
Išvestis:
kas yra monitorius
Funkcijos Glob() naudojimas failams rekursyviai rasti
Galime naudoti funkcijąglob.glob()>
arbaglob.iglob()>
tiesiai iš glob modulio, kad rekursyviai nuskaitytų kelius iš katalogų / failų ir pakatalogių / subfailų.
Sintaksė:
glob.glob(pathname, *, recursive=False)>
glob.iglob(pathname, *, recursive=False)>
Pastaba: Kai nustatytas rekursyvusTrue>
**>
po kurio seka kelio skyriklis('./**/')>
atitiks visus failus ar katalogus.
stygų funkcijos java
Pavyzdys:
# Python program to find files> # recursively using Python> > > import> glob> > > # Returns a list of names in list files.> print> (> 'Using glob.glob()'> )> files> => glob.glob(> '/home/geeks/Desktop/gfg/**/*.txt'> ,> > recursive> => True> )> for> file> in> files:> > print> (> file> )> > > # It returns an iterator which will> # be printed simultaneously.> print> (> '
Using glob.iglob()'> )> for> filename> in> glob.iglob(> '/home/geeks/Desktop/gfg/**/*.txt'> ,> > recursive> => True> ):> > print> (filename)> |
>
>
Išvestis:
Senesnėms python versijoms:
Paprasčiausias būdas yra naudoti os.walk() nes jis yra specialiai sukurtas ir optimizuotas, kad būtų galima rekursyviai naršyti katalogų medį. Arba galime naudoti os.listdir() Norėdami gauti visus failus kataloge ir pakatalogiuose, tada išfiltruokite.
perjungti java programavimą
Pažiūrėkime tai per pavyzdį -
Pavyzdys:
mvc java
# Python program to find files> # recursively using Python> > > import> os> > # Using os.walk()> for> dirpath, dirs, files> in> os.walk(> 'src'> ):> > for> filename> in> files:> > fname> => os.path.join(dirpath,filename)> > if> fname.endswith(> '.c'> ):> > print> (fname)> > '''> Or> We can also use fnmatch.filter()> to filter out results.> '''> for> dirpath, dirs, files> in> os.walk(> 'src'> ):> > for> filename> in> fnmatch.> filter> (files,> '*.c'> ):> > print> (os.path.join(dirpath, filename))> > # Using os.listdir()> path> => 'src'> dir_list> => os.listdir(path)> for> filename> in> fnmatch.> filter> (dir_list,> '*.c'> ):> > print> (os.path.join(dirpath, filename))> |
>
>
Išvestis:
./src/add.c ./src/subtract.c ./src/sub/mul.c ./src/sub/div.c ./src/add.c ./src/subtract.c ./src/sub/mul.c ./src/sub/div.c ./src/add.c ./src/subtract.c ./src/sub/mul.c ./src/sub/div.c>