Гайд Проверка, существует ли файл или каталог

  • 221
  • 67
os.path.exists()
Используя path.exists, вы можете быстро проверить, существует ли файл или каталог.

Шаг 1) Перед запуском кода нужно импортировать модуль os.path.




1
2
import os.path
from os import path


Шаг 2) Теперь используйте функцию path.exists(), чтобы проверить, существует ли файл.




1path.exists("guru99.txt")


Шаг 3) Вот полный код




1
2
3
4
5
6
7
8
9
10
import os.path
from os import path

def main():
print ("file exist:"+str(path.exists('guru99.txt')))
print ("File exists:" + str(path.exists('career.guru99.txt')))
print ("directory exists:" + str(path.exists('myDirectory')))

if __name__== "__main__":
main()


В нашем случае в рабочем каталоге создается только файл guru99.txt.


1
2
3
4
# Вывод:
File exists: True
File exists: False
directory exists: False


os.path.isfile()
Мы можем использовать команду isfile, чтобы проверить, является ли данный ввод файлом или каталогом.




1
2
3
4
5
6
7
8
9
10
11
12
import os.path
from os import path

def main():
print ("Is it File?" + str(path.isfile('guru99.txt')))
print ("Is it File?" + str(path.isfile('myDirectory')))
if __name__== "__main__":
main()

# Вывод:
# Is it File? True
# Is it File? False


os.path.isdir()
Если мы хотим подтвердить, что данный путь указывает на каталог, мы можем использовать функцию os.path.dir():




1
2
3
4
5
6
7
8
9
10
11
12
13
import os.path
from os import path

def main():
print ("Is it Directory?" + str(path.isdir('guru99.txt')))
print ("Is it Directory?" + str(path.isdir('myDirectory')))

if __name__== "__main__":
main()

# Вывод:
# Is it Directory? False
# Is it Directory? True


pathlibPath.exists() для Python 3.4
В Python 3.4 и более поздних версиях есть модуль pathlib для работы с путем к файлу. Он использует объектно-ориентированный подход, чтобы проверить, существует файл или нет.




1
2
3
4
5
6
7
8
9
import pathlib
file = pathlib.Path("guru99.txt")
if file.exists ():
print ("File exist")
else:
print ("File not exist")

# Вывод:
# File exist


Вот полный код:




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
from os import path

def main():
# Выводим имя OS
print(os.name)
#Проверяем наличие элемента и тип
print("Item exists:" + str(path.exists("guru99.txt")))
print("Item is a file: " + str(path.isfile("guru99.txt")))
print("Item is a directory: " + str(path.isdir("guru99.txt")))

if __name__ == "__main__":
main()

# Вывод:
# Item exists: True
# Item is a file: True
# Item is a directory: False


Заключение:
Используйте path.exists, чтобы проверить, существует ли файл
Используйте path.isfile и path.isdir, чтобы проверить, существует ли путь к файл или каталогу соответственно
В Python 3.4 и более поздних версиях используйте модуль pathlib, чтобы проверить, существует ли файл.
 
Сверху Снизу