A Python külső fájloktól való függősége kulcsfontosságú szempont, bölcs dolog figyelni az alap/forrásfájlokra, mielőtt bármilyen kódot végrehajt. Egy adott program futtatása előtt meg kell győződnie arról, hogy a forrásfájlok a megadott helyen léteznek.

Minden fejlesztő megérti a tartalék kódok létrehozásának szükségességét, amelyek menthetnek egy prorgramot a meghibásodástól abban az esetben, ha egy feltétel nem teljesül. A Pythonban többféleképpen is ellenőrizhető, hogy létezik -e fájl; itt vannak a legfontosabb módszerek, amelyeket tudnia kell.

1. Próbálja ki az állításokat

Az Próbálja ki, kivéve, ha az utasítás ellenőrzi a parancsot és kimenetet állít elő. Az alábbi kódban a próbáld ki utasítás megpróbál megnyitni egy fájlt (testfile.txt). Ha a Python processzora képes megtalálni a fájlt, akkor megnyitja a fájlt, és kinyomtatja az eredményt A fájl megnyitva és használható.

próbáld ki:
f = nyitott ('testfile.txt')
nyomtatás ("A fájl használható")
f. bezár ()
kivéve IOError:
print ("A fájl nem érhető el")
instagram viewer

Ha hibát észlel, kinyomtatja az eredményt A fájl nem érhető el. A teljes kód összeállítása és végrehajtása után bezárja a megnyitott fájlt, ha azt megnyitották.

A Python külső fájloktól való függősége kulcsfontosságú szempont, és figyelni kell az alap/forrásfájlokra, mielőtt bármilyen kódot végrehajtana.

Egy adott program végrehajtása előtt győződjön meg arról, hogy a forrásfájlok az adott helyen léteznek.

2. Os.path.isfile (elérési út)

A Python beépített OS modullal rendelkezik, amely felkérhető arra, hogy lépjen kapcsolatba az alatta lévő fájlokkal, mappákkal és könyvtárakkal. Pythoné os.path.isfile () metódus segítségével ellenőrizheti a könyvtárat, és ha létezik egy adott fájl.

Az első lépés a beépített függvény importálása a os.path importálása könyvtár. A következő parancs ellenőrzi, hogy a fájl létezik -e az adott helyen.

os.path importálása
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python tesztfájl.txt")

A kimenet visszatér Igaz, mivel a fájl az adott helyen létezik. Ha a fájl nem létezik, a Python visszatér Hamis.

3. Os.path.exists (elérési út)

Hasonló alapon a importál könyvtár utasítással ellenőrizhető, hogy a könyvtár létezik -e a rendszeren.

A szintaxis meglehetősen egyszerű:

Os.path importálása
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

Az előző lépéshez hasonlóan, ha a könyvtár/mappa megtalálható a megadott rendszerútvonalon, a Python visszatér Igaz, és ezt követően, Hamis, ha a könyvtár/mappa nem található.

Összefüggő: Python tanulása? Íme, hogyan másolhat egy fájlt

4. Os. Pálya. Isdir (út)

Akárcsak os.path.isfile és os.path.exists (), os.path.isdir () az os könyvtár részfunkciója. Az egyetlen különbség itt az, hogy ez a parancs csak a könyvtáraknál működik. A várakozásoknak megfelelően ennek a szintaxisnak a logikai értéke a könyvtárak létezésén alapul.

Például:

importál
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

A kimenet az Igaz, mivel a mappa/könyvtár a megadott elérési úton található.

importál
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ tesztkönyvtár")

A kimenet az Hamis, mivel a mappa/könyvtár nem létezik a megadott elérési úton.

5. Pathlib.path.exists ()

A Python 3.4 és újabb verziói kínálják Pathlib modul, amely a. használatával importálható import funkció. A Pathlib egy helyen rögzíti a szükséges funkciókat, és különböző módszerekkel elérhetővé teszi az elérési út objektummal való használatát.

A Pathlib használata:

importálási útvonal
file = elérési út. Útvonal (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
ha a file.exists ():
print ("A fájl létezik")
más:
print ("A fájl nem létezik")

A fájl létezése szerint a kimenet megjeleníti, hogy a fájl létezik -e a megadott elérési úton. Ideális esetben a kód a nyomtatás a nyilatkozat módosítható a program követelményeinek megfelelően

6. Os.listdir (elérési út)

Az listdir metódus a Python -ban egy adott könyvtár összes fájljának listáját adja vissza, a felhasználó által megadott módon. Ez a módszer azonban nem tér vissza az almappákban található fájlokhoz.

Az listdir metódus csak egy paramétert fogad el, a fájl elérési útját. Ideális esetben a fájl elérési útja a letölteni kívánt fájl- és mappanevek lesz.

Az alapvető szintaxis a következőket tartalmazza:

os.listdir (elérési út)

Az alábbi példában létrehozhat egy ciklust a könyvtárban felsorolt ​​összes fájl átnézésére, majd ellenőrizheti, hogy létezik -e a ha nyilatkozat.

importál
path = r'C: \ Users \ Wini Bhalla \ Desktop '
fájlok = os.listdir (elérési út)
nyomtatás (fájlok)

Ez a kód kinyomtatja az aktuális könyvtárban elérhető fájlok listáját.

importál
path = r'C: \ Users \ Wini Bhalla \ Desktop 'fájlok = os.listdir (elérési út)
f fájlokban:
ha f == "test.txt":
print ("A fájl létezik")
más:
print ("A fájl nem létezik")

Továbbá, amikor a hurok fut, a listdir funkcióval együtt ha Az utasítás logika végigfut a fájlok listáján, és kinyomtatja az eredményeket, a feltételektől függően nyomtatás nyilatkozat.

Összefüggő: Használja a hurkokat listákkal a Pythonban

7. Glob modul

Az glob modul minden elérési utat egyeztet a megadott paraméterekkel, és tömören lehetővé teszi a fájlrendszer elérését. Mivel a glo -t használják a mintaegyezéshez, ezzel ellenőrizheti a fájl állapotát.

Az útvonalnak két hivatkozása van:

  • Abszolút út: Használja ezt, ha egy másik könyvtárban szeretne keresni egy fájlt.
  • Relatív útvonal: Használja ezt, amikor fájlt szeretne keresni az aktuális könyvtárban.

Ha a fájl megtalálható, a kód visszatér Igaz, különben visszatér Hamis.

Példa a Glob használatára:

import glob
ha glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
nyomtatás ("A fájl létezik")
más:
print ("A fájl nem létezik")

A kód kimenete kinyomtatja az eredményt, ha a fájl megtalálható.

8. Részfolyamat

A tesztparancs az alfolyamat modulban hatékony módszer a fájlok és könyvtárak létezésének tesztelésére. A tesztparancsok csak Unix alapú gépeken működnek, Windows alapú operációs rendszereken nem.

Az alábbi parancsokat használhatja igényeinek megfelelően:

  • teszt -e: Ellenőrizze az útvonal létezését
  • teszt -f: Ellenőrizze a fájlok létezését
  • teszt-d: Ellenőrizze a mappa létezését

Útvonal ellenőrzése alfolyamatokkal:

az alfolyamat importálási futtatásából
run (['teszt', '-e', 'testfile.txt']). returncode == 0
run (['teszt', '-e', 'im-not-here.txt']). returncode == 0

Ezt a kódot tesztfunkciónak hívták, majd ezt követte '' én '' hogy ellenőrizze az út létezését. A funkció megmutatja Hamis érvénytelen útért.

Fájl ellenőrzése alfolyamatokkal:

run (['teszt', '-f', 'testfile.txt']). returncode == 0
run (['teszt', '-f', 'tesztkönyvtár']). returncode == 0

Az '-f' függvény teszteli a fájl létezését és visszatér Hamis egy könyvtárhoz.

Könyvtár ellenőrzése alfolyamatokkal:

run (['teszt', '-d', 'testfile.txt']). returncode == 0
run (['teszt', '-d', 'tesztkönyvtár']). returncode == 0

Az '-d' függvény teszteli a könyvtár létezését és visszatér Hamis a tesztparancs bármely fájl lekérdezéséhez.

Melyik parancsot használja a fájlok megkereséséhez?

A Python viszonylag könnyen használható nyelv, és sok lehetőséget kínál a végfelhasználóknak. A fájl (ok) létezésének ellenőrzéséhez használhatja a fent felsorolt ​​eljárások bármelyikét.

Ha azonban kezdő vagy, mindig van mód a Python tanulására. Mivel a Python hatalmas nyelv, a legjobb, ha egy kis időt szán a különböző árnyalatok és parancsok megértésére.

RészvényCsipogEmail
Mire jó a Python és mire használható?

A Python rendkívül sokoldalú, az alkalmazások a webfejlesztéstől az adatelemzésig terjednek.

Olvassa tovább

Kapcsolódó témák
  • Programozás
  • Piton
  • Kódolási tippek
A szerzőről
Wini Bhalla (41 cikk megjelent)

Wini Delhiben író, 2 éves írói tapasztalattal rendelkezik. Írása során digitális marketing ügynökségekkel és műszaki cégekkel volt kapcsolatban. Programozási nyelvekhez, felhőtechnológiához, AWS -hez, gépi tanuláshoz és még sok máshoz kapcsolódó tartalmat írt. Szabadidejében szeret festeni, családjával tölteni és a hegyekbe utazni, amikor csak lehetséges.

Bővebben: Wini Bhalla

Iratkozzon fel hírlevelünkre

Csatlakozz hírlevelünkhöz, ahol technikai tippeket, értékeléseket, ingyenes e -könyveket és exkluzív ajánlatokat találsz!

Feliratkozáshoz kattintson ide