Зависимостта на Python от външни файлове е решаващ аспект, разумно е да се обърне внимание на базовите/изходните файлове, преди да се изпълни всеки код. Преди да стартирате определена програма, трябва да се уверите, че вашите изходни файлове съществуват на определеното място.

Всеки разработчик разбира необходимостта от създаване на резервни кодове, които могат да спасят програмата от провал в случай, че условие не е изпълнено. В Python има няколко начина да проверите дали файл съществува; Ето най -добрите методи, за които трябва да знаете.

1. Опитайте и с изключение на изявленията

The try и except инструкцията проверява команда и произвежда изход. В кода по -долу, опитвам изявлението ще се опита да отвори файл (testfile.txt). Ако процесорът на Python може да намери файла, той ще отвори файла и ще отпечата резултата Файлът е отворен и достъпен за използване.

опитвам:
f = отворен ('testfile.txt')
печат ("Файлът е достъпен за използване")
f.close ()
с изключение на IOError:
print ('Файлът не е достъпен')
instagram viewer

Ако срещне грешка, резултатът ще бъде отпечатан Файлът не е достъпен. След като пълният код бъде компилиран и изпълнен, той ще затвори отворения файл, ако е бил отворен.

Зависимостта на Python от външни файлове е решаващ аспект и трябва да обърнете внимание на базовите/изходните файлове, преди да изпълните кодове.

Преди да изпълните определена програма, уверете се, че изходните ви файлове съществуват на конкретното място.

2. Os.path.isfile (път)

Python има вградена модулна операционна система, която може да бъде призована да взаимодейства с основните файлове, папки и директории. На Python os.path.isfile () метод може да се използва за проверка на директория и ако съществува конкретен файл.

Първата стъпка е да импортирате вградената функция с помощта на импортиране на os.path библиотека. Следващата команда проверява дали файлът съществува на конкретното място.

импортиране на os.path
os.path.isfile (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")

Изходът се връща Вярно, тъй като файлът съществува на конкретното място. Ако файлът не съществува, Python ще се върне Фалшиво.

3. Os.path.exists (път)

На подобни основания, внос os оператор библиотека може да се използва за проверка дали директорията съществува във вашата система.

Синтаксисът е доста прост:

Импортиране на os.path
os.path.exists (r "C: \ Users \ Wini Bhalla \ Desktop \ test")

Точно като предишната стъпка, ако директорията/папката е намерена на посочения системен път, Python се връща Вярнои впоследствие, Фалшиво, ако директория/папка не е намерена.

Свързани: Изучаване на Python? Ето как да копирате файл

4. Операционна система. Път. Исдир (път)

Точно като os.path.isfile и os.path.exists (), os.path.isdir () е подфункция на os библиотеката. Единствената разлика тук е, че тази команда работи само за директории. Както се очакваше, използването на този синтаксис връща булева стойност въз основа на съществуването на директории.

Например:

внос os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

Изходът е Вярно, тъй като папката/директорията съществува по посочения път.

внос os
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

Изходът е Фалшиво, тъй като папката/директорията не съществува по посочения път.

5. Pathlib.path.exists ()

Python 3.4 и по -нови версии предлагат Патлиб модул, който може да бъде импортиран с помощта на внос функция. Pathlib улавя необходимите функционалности на едно място и го прави достъпно чрез различни методи за използване с обекта path.

За да използвате Pathlib:

import pathlib
file = pathlib. Път (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
ако file.exists ():
печат ("Файл съществува")
иначе:
print ("Файл не съществува")

Според съществуването на файла изходът ще покаже дали файлът съществува или не в посочения път. В идеалния случай кодът в печат изявлението може да бъде променено според изискванията на вашата програма

6. Os.listdir (път)

The listdir метод в Python връща списък на всички файлове в определена директория, както е посочено от потребителя. Този метод обаче няма да върне файлове, съществуващи в подпапки.

The listdir метод приема само един параметър, пътя на файла. В идеалния случай пътят на файла ще бъде имената на файлове и папки, които искате да извлечете.

Основният синтаксис включва:

os.listdir (път)

В примера по -долу можете да създадете цикъл, за да преминете през всички файлове, изброени в директорията, и след това да проверите за съществуването на посочения файл, деклариран с ако изявление.

внос os
path = r'C: \ Users \ Wini Bhalla \ Desktop '
файлове = os.listdir (път)
печат (файлове)

Този код ще отпечата списъка с файлове, налични в текущата директория.

внос os
path = r'C: \ Users \ Wini Bhalla \ Desktop 'files = os.listdir (пътека)
за f във файлове:
ако f == "test.txt":
печат ("Файл съществува")
иначе:
print ("Файл не съществува")

Освен това, когато цикълът се изпълнява, listdir функция заедно с ако логиката на оператора ще премине през списъка с файлове и ще отпечата резултатите, в зависимост от условията, преминати в печат изявление.

Свързани: Използвайте цикли със списъци в Python

7. Модул Glob

The глобус модул съвпада с всички имена на пътища с посочените параметри и лаконично ви позволява достъп до файловата система. Тъй като glob се използва за съответствие на шаблони, можете да го използвате, за да проверите състоянието на файла.

Има две препратки към пътя:

  • Абсолютен път: Използвайте това, когато искате да търсите файл в друга директория.
  • Относителен път: Използвайте това, когато искате да потърсите файл в текущата директория.

Ако файлът бъде намерен, кодът ще се върне Вярно, в противен случай ще се върне Фалшиво.

Пример за използването на Glob:

внос глобус
if glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Файлът съществува")
иначе:
print ("Файл не съществува")

Резултатът от този код ще отпечата резултата, ако файлът бъде намерен.

8. Подпроцес

Командата test в модула на подпроцеса е ефективен начин за тестване на съществуването на файлове и директории. Тестовите команди работят само в Unix базирани машини, но не и в Windows базирани OS машини.

Можете да използвате следните команди според вашите нужди:

  • тест -е: Проверете съществуването на път
  • тест -f: Проверете съществуването на файл
  • тест-d: Проверете съществуването на папка

Проверка на път с подпроцес:

от импортиране на подпроцес
run (['test', '-e', 'testfile.txt']). returncode == 0
run (['test', '-e', 'im-not-here.txt']). returncode == 0

Този код се нарича функция за тестване, последван от '-e' за да проверите съществуването на път. Функцията показва Фалшиво за невалиден път.

Проверка на файл с подпроцес:

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

The '-f' функция тества съществуването на файл и връща Фалшиво за директория.

Проверка на директория с подпроцес:

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

The '-д' function тества съществуването на директория и връща Фалшиво за всяка файлова заявка в тестовата команда.

Коя команда ще използвате, за да намерите вашите файлове?

Python е сравнително лесен за използване език и предлага много възможности на крайните потребители. За да проверите съществуването на файл (и), можете да използвате някоя от процедурите, изброени по -горе.

Ако обаче сте начинаещ, винаги има начини да научите Python. Тъй като Python е обширен език, най -добре е да отделите известно време за разбиране на различните нюанси и диапазона от команди.

ДялТуителектронна поща
Какво прави Python и за какво може да се използва?

Python е изключително гъвкав, с приложения, вариращи от уеб разработка до анализ на данни.

Прочетете Напред

Свързани теми
  • Програмиране
  • Python
  • Съвети за кодиране
За автора
Уини Бхала (41 статии са публикувани)

Уини е писател, базиран в Делхи, с 2 години опит в писането. По време на писането си тя е била свързана с агенции за дигитален маркетинг и технически фирми. Тя е написала съдържание, свързано с езици за програмиране, облачни технологии, AWS, машинно обучение и много други. В свободното си време обича да рисува, да прекарва времето си със семейството си и да пътува до планината, когато е възможно.

Още от Wini Bhalla

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате