Python atkarība no ārējiem failiem ir izšķirošs aspekts, pirms jebkura koda izpildes ir prātīgi pievērst uzmanību bāzes/avota failiem. Pirms konkrētas programmas palaišanas jums jāpārliecinās, vai avota faili pastāv norādītajā vietā.

Katrs izstrādātājs saprot nepieciešamību izveidot rezerves kodus, kas var ietaupīt prorgrammu no neveiksmes gadījumā, ja nosacījums nav izpildīts. Programmā Python ir vairāki veidi, kā pārbaudīt, vai fails pastāv; šeit ir galvenās metodes, kas jums jāzina.

1. Izmēģiniet paziņojumus

The mēģiniet un izņemot paziņojumu pārbauda komandu un rada izlaidi. Zemāk esošajā kodā pamēģini paziņojums mēģinās atvērt failu (testfile.txt). Ja Python procesors var atrast failu, tas atvērs failu un izdrukās rezultātu Fails ir atvērts un pieejams lietošanai.

pamēģini:
f = atvērts ('testfile.txt')
drukāt ("Fails ir pieejams lietošanai")
f. tuvu ()
izņemot IOError:
drukāt (“Fails nav pieejams”)

Ja rodas kļūda, tas izdrukā rezultātu Fails nav pieejams. Kad viss kods ir apkopots un izpildīts, tas aizvērs atvērto failu, ja tas tika atvērts.

Python atkarība no ārējiem failiem ir izšķirošs aspekts, un pirms kodu izpildīšanas jums jāpievērš uzmanība bāzes/avota failiem.

Pirms konkrētas programmas izpildes pārliecinieties, vai avota faili pastāv konkrētajā vietā.

2. Os.path.isfile (ceļš)

Python ir iebūvēts OS modulis, kuru var aicināt mijiedarboties ar pamatā esošajiem failiem, mapēm un direktorijiem. Pitons os.path.isfile () metodi var izmantot, lai pārbaudītu direktoriju un noteiktu failu.

Pirmais solis ir importēt iebūvēto funkciju, izmantojot importēt os.path bibliotēka. Nākamā komanda pārbauda, ​​vai fails pastāv konkrētajā vietā.

importēt os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python testa fails.txt")

Izeja atgriežas Taisnība, jo fails pastāv konkrētajā vietā. Ja fails neeksistē, Python atgriezīsies Nepatiess.

3. Os.path.exists (ceļš)

Līdzīgu iemeslu dēļ,. importēt OS bibliotēkas paziņojumu var izmantot, lai pārbaudītu, vai direktorijs pastāv jūsu sistēmā.

Sintakse ir diezgan vienkārša:

Importēt os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

Tāpat kā iepriekšējā solī, ja direktorijs/mape ir atrodama norādītajā sistēmas ceļā, Python atgriežas Taisnība, un pēc tam, Nepatiess, ja direktorijs/mape nav atrasta.

Saistīts: Mācīties Python? Lūk, kā kopēt failu

4. Os. Ceļš. Isdir (ceļš)

Tieši kā os.path.isfile un os.path.exists (), os.path.isdir () ir os bibliotēkas apakšfunkcija. Vienīgā atšķirība šeit ir tā, ka šī komanda darbojas tikai direktorijiem. Kā gaidīts, šīs sintakses izmantošana atgriež Būla vērtību, pamatojoties uz direktoriju esamību.

Piemēram:

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

Izeja ir Taisnība, jo mape/direktorija pastāv norādītajā ceļā.

importēt OS
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

Izeja ir Nepatiess, jo mape/direktorijs nepastāv norādītajā ceļā.

5. Pathlib.path.exists ()

Python 3.4 un jaunākas versijas piedāvā Pathlib moduli, kuru var importēt, izmantojot importēt funkciju. Pathlib apkopo nepieciešamās funkcijas vienuviet un padara to pieejamu, izmantojot dažādas metodes, ko izmantot kopā ar ceļa objektu.

Lai izmantotu Pathlib:

importēt ceļvedi
fails = ceļš. Ceļš (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
ja fails.eksistē ():
drukāt ("Fails pastāv")
cits:
drukāt ("Fails neeksistē")

Saskaņā ar faila esamību izvadē tiks parādīts, vai fails pastāv norādītajā ceļā. Ideālā gadījumā kods drukāt paziņojumu var mainīt atbilstoši jūsu programmas prasībām

6. Os.listdir (ceļš)

The listdir metode Python atgriež visu failu sarakstu noteiktā direktorijā, kā norādījis lietotājs. Tomēr šī metode neatgriezīs apakšmapēs esošos failus.

The listdir metode pieņem tikai vienu parametru - faila ceļu. Ideālā gadījumā faila ceļš būs failu un mapju nosaukumi, kurus vēlaties izgūt.

Pamata sintakse ietver:

os.listdir (ceļš)

Tālāk redzamajā piemērā varat izveidot cilpu, lai izietu cauri visiem direktorijā uzskaitītajiem failiem, un pēc tam pārbaudīt, vai ir norādīts fails, kas deklarēts ar ja paziņojums, apgalvojums.

importēt OS
path = r'C: \ Users \ Wini Bhalla \ Desktop '
faili = os.listdir (ceļš)
drukāt (faili)

Šis kods izdrukās pašreizējā direktorijā pieejamo failu sarakstu.

importēt OS
path = r'C: \ Users \ Wini Bhalla \ Desktop 'faili = os.listdir (ceļš)
f failos:
ja f == "test.txt":
drukāt ("Fails pastāv")
cits:
drukāt ("Fails neeksistē")

Tālāk, kad cilpa tiek palaista, listdir darbojas kopā ar ja paziņojuma loģika pārvietosies pa failu sarakstu un izdrukās rezultātus atkarībā no nosacījumiem, kas nodoti drukāt paziņojums, apgalvojums.

Saistīts: Izmantojiet cilpas ar sarakstiem Python

7. Glob modulis

The glob modulis atbilst visiem ceļu nosaukumiem ar norādītajiem parametriem un kodolīgi ļauj piekļūt failu sistēmai. Tā kā glob tiek izmantots modeļu saskaņošanai, varat to izmantot, lai pārbaudītu faila statusu.

Ir divas ceļa norādes:

  • Absolūtais ceļš: Izmantojiet to, ja vēlaties meklēt failu citā direktorijā.
  • Relatīvais ceļš: Izmantojiet šo, kad vēlaties meklēt failu pašreizējā direktorijā.

Ja fails tiek atrasts, kods atgriezīsies Taisnība, pretējā gadījumā tas atgriezīsies Nepatiess.

Glob lietošanas piemērs:

importēt glob
ja glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
drukāt ("Fails pastāv")
cits:
drukāt ("Fails neeksistē")

Šī faila izvade izdrukās rezultātu, ja fails tiks atrasts.

8. Apakšprocess

Pārbaudes komanda apakšprocesa modulī ir efektīvs veids, kā pārbaudīt failu un direktoriju esamību. Pārbaudes komandas darbojas tikai mašīnās, kuru pamatā ir Unix, nevis operētājsistēmās, kuru pamatā ir Windows.

Pēc savām vajadzībām varat izmantot šādas komandas:

  • tests -e: Pārbaudiet ceļa esamību
  • tests -f: Pārbaudiet faila esamību
  • tests-d: Pārbaudiet mapes esamību

Ceļa pārbaude ar apakšprocesu:

no apakšprocesa importēšanas palaišanas
palaist (['test', '-e', 'testfile.txt']). returncode == 0
palaist (['test', '-e', 'im-not-here.txt']). returncode == 0

Šo kodu sauca par testa funkciju, kam sekoja '' es '' lai pārbaudītu ceļa esamību. Funkcija parāda Nepatiess par nederīgu ceļu.

Faila pārbaude ar apakšprocesu:

palaist (['test', '-f', 'testfile.txt']). returncode == 0
palaist (['test', '-f', 'testdirectory']). returncode == 0

The "-f" funkcija pārbauda faila esamību un atgriež Nepatiess direktorijam.

Direktorija pārbaude ar apakšprocesu:

palaist (['test', '-d', 'testfile.txt']). returncode == 0
palaist (['test', '-d', 'testdirectory']). returncode == 0

The "-d" funkcija pārbauda direktorija esamību un atgriež Nepatiess jebkuram faila vaicājumam testa komandā.

Kuru komandu izmantosit failu atrašanai?

Python ir salīdzinoši viegli lietojama valoda, un tā galalietotājiem piedāvā daudz iespēju. Lai pārbaudītu faila (-u) esamību, varat izmantot jebkuru no iepriekš uzskaitītajām procedūrām.

Tomēr, ja esat iesācējs, vienmēr ir veidi, kā apgūt Python. Tā kā Python ir plaša valoda, vislabāk ir pavadīt laiku, lai izprastu dažādās nianses un tā komandu diapazonu.

KopīgotČivinātE -pasts
Ko Python dara un kādam nolūkam to var izmantot?

Python ir ārkārtīgi daudzpusīgs, ar lietojumprogrammām, sākot no tīmekļa izstrādes līdz datu analīzei.

Lasīt Tālāk

Saistītās tēmas
  • Programmēšana
  • Python
  • Kodēšanas padomi
Par autoru
Vini Bhalla (41 raksts publicēts)

Vini ir Deli rakstnieks, kuram ir 2 gadu rakstīšanas pieredze. Rakstīšanas laikā viņa ir bijusi saistīta ar digitālā mārketinga aģentūrām un tehniskajām firmām. Viņa ir uzrakstījusi saturu, kas saistīts ar programmēšanas valodām, mākoņtehnoloģijām, AWS, mašīnmācīšanos un daudz ko citu. Brīvajā laikā viņai patīk gleznot, pavadīt laiku kopā ar ģimeni un, ja vien iespējams, ceļot uz kalniem.

Vairāk no Wini Bhalla

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu