Использование os.path.exists()
На этом этапе мы научимся использовать функцию os.path.exists()
для проверки существования файла или каталога. Это фундаментальная операция при работе с файлами, так как позволяет обрабатывать ситуации, когда файл может отсутствовать или каталог может не существовать.
Функция os.path.exists()
принимает один аргумент: путь к файлу или каталогу, существование которого вы хотите проверить. Она возвращает True
, если файл или каталог существует, и False
в противном случае.
Давайте модифицируем скрипт file_paths.py
, который мы создали на предыдущем этапе, чтобы использовать os.path.exists()
. Откройте файл file_paths.py
в редакторе VS Code и добавьте следующий код:
import os
## Get the current working directory
current_directory = os.getcwd()
## Define a relative path to the file
relative_path = "my_file.txt"
## Define an absolute path to the file
absolute_path = os.path.join(current_directory, relative_path)
## Check if the file exists using the relative path
if os.path.exists(relative_path):
print("The relative path 'my_file.txt' exists.")
else:
print("The relative path 'my_file.txt' does not exist.")
## Check if the file exists using the absolute path
if os.path.exists(absolute_path):
print("The absolute path", absolute_path, "exists.")
else:
print("The absolute path", absolute_path, "does not exist.")
## Check if a directory exists
directory_path = current_directory
if os.path.exists(directory_path):
print("The directory", directory_path, "exists.")
else:
print("The directory", directory_path, "does not exist.")
## Check if a non-existent file exists
non_existent_file = "non_existent_file.txt"
if os.path.exists(non_existent_file):
print("The file", non_existent_file, "exists.")
else:
print("The file", non_existent_file, "does not exist.")
В этом скрипте:
- Мы используем
os.path.exists()
для проверки существования файла my_file.txt
как по относительному, так и по абсолютному пути.
- Мы также проверяем существование текущего каталога, которое должно всегда быть истинным.
- Наконец, мы проверяем существование несуществующего файла, что должно вернуть
False
.
Теперь давайте запустим скрипт еще раз. Откройте терминал в VS Code и выполните скрипт с помощью следующей команды:
python file_paths.py
Вы должны увидеть вывод, похожий на следующий:
The relative path 'my_file.txt' exists.
The absolute path /home/labex/project/my_file.txt exists.
The directory /home/labex/project exists.
The file non_existent_file.txt does not exist.
Это демонстрирует, как использовать os.path.exists()
для проверки существования файлов и каталогов в ваших программах на Python. Это важный шаг перед попыткой чтения из файла или записи в него, так как может предотвратить ошибки и обеспечить правильное поведение вашей программы.