Если это не имеет значения, это файл или каталог, который вы можете использовать OS.Path.exists ()
:
# check_exists.py import os file = "/home/user/tmp/file" dir = "/home/user/tmp/dir" if __name__ == "__main__": print("File exists: ", os.path.exists(file)) print("Dir exists: ", os.path.exists(dir))
Примечание :
Я использую Если __name__ Обозначение. Если вы хотите увидеть больше Информация об этом посмотрите эту статью: Что делать, если имя __name__ делают в Python
Когда вы запускаете файл, вы увидите, как приведен ниже:
$ python check_exists.py File exists: True Dir exists: True
Вы можете быть немного запутанным, поскольку в Unix, подобных системам – MacOS и Linux, файлы сценариев не должны нуждаться в расширении файлов, такие как file.sh.
или file.py
Отказ Все, что вам нужно, это Shebang – #!
. Например, это содержание /home/user/tmp/file :
# /home/user/tmp/file #!/bin/bash # make a tmp/ dir at $HOME if not exists with verbose input mkdir -pv ~/tmp
Примечание :
Использование ~/ Псевдоним нравится ~/tmp/dir не работает. Вы должны дать абсолют путь или расширить псевдоним: OS.Path.expanduser (‘~/tmp/file’)
Файл
Если вы хотите проверить файл, и получил Тип файла :
# check_file_exists.py import os file = "/home/user/tmp/file" if __name__ == "__main__": print("File exists AND a file: ", os.path.isfile(file))
Каталог
Вы можете проверить каталог с OS.Path.isdir
Функция:
# check_dir_exists.py import os dir = "/home/user/tmp/dir" if __name__ == "__main__": print("Dir exists AND a directory: ", os.path.isdir(dir))
Бонус: создать Если не существует
Также, если вы хотите создать один, если это не существует:
# check_exists_or_create.py import os file = "/home/user/tmp/file" dir = "/home/user/tmp/dir" if __name__ == "__main__": # create dir if not exists if not os.path.isdir(dir): os.mkdir(dir) # create file if not exists if not os.path.isfile(file): open(file, 'w').close() # alternative to create file if not exists from pathlib import Path Path(file).touch()
Все сделано!
Оригинал: “https://dev.to/serhatteker/how-to-check-a-file-or-directory-exists-in-python-1o5f”