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

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

1. Заявления "попробуй и исключи"

В Оператор try and except проверяет команду и производит вывод. В приведенном ниже коде пытаться оператор попытается открыть файл (testfile.txt). Если процессор Python может найти файл, он откроет файл и распечатает результат. Файл открыт и доступен для использования.

пытаться:
f = открытый ('testfile.txt')
print («Файл доступен для использования»)
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.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.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ OS")

На выходе Правда, поскольку папка / каталог существует по указанному пути.

импорт ОС
os.path.isdir (r "C: \ Users \ Wini Bhalla \ Desktop \ testdirectory")

На выходе Ложь, поскольку папка / каталог не существует по указанному пути.

5. Pathlib.path.exists ()

Версии Python 3.4 и выше предлагают Pathlib модуль, который можно импортировать с помощью Импортировать функция. Pathlib собирает необходимые функции в одном месте и делает их доступными с помощью различных методов для использования с объектом пути.

Чтобы использовать Pathlib:

импортировать pathlib
файл = pathlib. Путь (r "C: \ Users \ Wini Bhalla \ Desktop \ Python test file.txt")
если file.exists ():
print ("Файл существует")
еще:
print («Файл не существует»)

В зависимости от наличия файла в выводе будет отображаться, существует ли файл по указанному пути. В идеале код в Распечатать оператор может быть изменен в соответствии с требованиями вашей программы

6. Os.listdir (путь)

В listdir Метод в Python возвращает список всех файлов в определенном каталоге, как указано пользователем. Однако этот метод не вернет файлы, существующие во вложенных папках.

В listdir метод принимает только один параметр, путь к файлу. В идеале, путь к файлу должен состоять из имен файлов и папок, которые вы хотите получить.

Базовый синтаксис включает:

os.listdir (путь)

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

импорт ОС
путь = r'C: \ Users \ Wini Bhalla \ Desktop '
files = os.listdir (путь)
печать (файлы)

Этот код распечатает список файлов, доступных в текущем каталоге.

импорт ОС
путь = r'C: \ Users \ Wini Bhalla \ Desktop 'files = os.listdir (путь)
для f в файлах:
если f == "test.txt":
print ("Файл существует")
еще:
print («Файл не существует»)

Далее при запуске цикла listdir функционировать вместе с если логика оператора будет циклически перебирать список файлов и распечатывать результаты в зависимости от условий, переданных в Распечатать утверждение.

Связанный: Использование циклов со списками в Python

7. Модуль Glob

В шарик module сопоставляет все пути с указанными параметрами и лаконично позволяет вам получить доступ к файловой системе. Поскольку glob используется для сопоставления с образцом, вы можете использовать его для проверки статуса файла.

Есть две ссылки на путь:

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

Если файл найден, код вернет Правда, иначе он вернется Ложь.

Пример использования Glob:

импортный глобус
если glob.glob (r "C: \ Users \ Wini Bhalla \ Desktop \ test.txt"):
print ("Файл существует")
еще:
print («Файл не существует»)

На выходе этого кода будет напечатан результат, если файл найден.

8. Подпроцесс

Команда test в модуле подпроцесса - это эффективный способ проверки существования файлов и каталогов. Команды тестирования работают только на компьютерах с ОС Unix, но не на компьютерах с ОС Windows.

Вы можете использовать следующие команды в соответствии с вашими потребностями:

  • тест -e: Проверить наличие пути
  • тест -f: Проверить наличие файла
  • test-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

В '-f' функция проверяет наличие файла и возвращает Ложь для справочника.

Проверка каталога с помощью подпроцесса:

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

В '-d' функция проверяет наличие каталога и возвращает Ложь для любого запроса файла в тестовой команде.

Какую команду вы будете использовать для поиска файлов?

Python - относительно простой в использовании язык, предлагающий конечным пользователям множество опций. Для проверки существования файла (ов) вы можете использовать любую из перечисленных выше процедур.

Однако, если вы новичок, всегда есть способы изучить Python. Поскольку Python - обширный язык, лучше потратить некоторое время на понимание различных нюансов и набора его команд.

ДелитьсяТвитнутьЭл. адрес
Что делает Python и для чего его можно использовать?

Python чрезвычайно универсален, с приложениями от веб-разработки до анализа данных.

Читать далее

Похожие темы
  • Программирование
  • Python
  • Советы по кодированию
Об авторе
Вини Бхалла (Опубликовано 41 статья)

Вини - писатель из Дели, у нее 2-летний писательский опыт. Во время писательской работы она была связана с агентствами цифрового маркетинга и техническими фирмами. Она написала контент, связанный с языками программирования, облачными технологиями, AWS, машинным обучением и многим другим. В свободное время она любит рисовать, проводить время с семьей и путешествовать в горы, когда это возможно.

Ещё от Wini Bhalla

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться