Glob ir vispārīgs termins, ko izmanto, lai definētu paņēmienus, kas atbilst noteiktiem modeļiem saskaņā ar noteikumiem, kas saistīti ar Unix apvalku. Linux un Unix sistēmas un čaulas arī atbalsta glob un nodrošina arī funkcijuglob()>
sistēmu bibliotēkās.
Programmā Python izgūšanai tiek izmantots glob modulis faili/ceļu nosaukumi kas atbilst noteiktam modelim. Globālās modeļa noteikumi atbilst standarta Unix ceļa paplašināšanas noteikumiem. Tiek arī prognozēts, ka saskaņā ar etaloniem ir ātrāk nekā citas metodes, lai saskaņotu ceļu nosaukumus direktorijās. Izmantojot glob, mēs varam izmantot arī aizstājējzīmes('*, ?, [ranges])>
izņemot precīzu virkņu meklēšanu, lai ceļu izgūšana būtu vienkāršāka un ērtāka.
Piezīme: Šis modulis ir iebūvēts ar Python, tāpēc tas nav jāinstalē ārēji.
Piemērs:
# 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)> |
>
ir olbaltumvielu tauki
>
Izvade:
Funkcijas Glob() izmantošana, lai rekursīvi atrastu failus
Mēs varam izmantot funkcijuglob.glob()>
vaiglob.iglob()>
tieši no glob moduļa, lai rekursīvi izgūtu ceļus no direktoriju/failu un apakšdirektoriju/apakšfailu iekšpuses.
Sintakse:
glob.glob(pathname, *, recursive=False)>
glob.iglob(pathname, *, recursive=False)>
Piezīme: Kad ir iestatīts rekursīvsTrue>
**>
seko ceļa atdalītājs('./**/')>
atbilst visiem failiem vai direktorijiem.
Piemērs:
# 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)> |
metode apakšvirkne java
>
>
Izvade:
Vecākām python versijām:
Vienkāršākā metode ir izmantot os.walk() jo tas ir īpaši izstrādāts un optimizēts, lai ļautu rekursīvi pārlūkot direktoriju koku. Vai arī mēs varam izmantot os.listdir() lai iegūtu visus failus direktorijā un apakšdirektorijās un pēc tam filtrētu.
Apskatīsim to ar piemēru -
Piemērs:
# 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))> |
>
>
Izvade:
./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>