Отрицание в Python

Я пытаюсь создать каталог, если путь не существует, но! (не) оператор не работает. Я не уверен, как отрицать в Python... Каков правильный способ сделать это?

if (!os.path.exists("/usr/share/sounds/blues")):
        proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
        proc.wait()

Ответ 1

Оператор отрицания в Python not. Поэтому просто замените ! на not.

В вашем примере сделайте следующее:

if not os.path.exists("/usr/share/sounds/blues") :
    proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
    proc.wait()

Для вашего конкретного примера (как сказал Нил в комментариях) вам не нужно использовать модуль subprocess, вы можете просто использовать os.mkdir(), чтобы получить нужный результат, с добавлением удобства обработки исключений.

Пример:

blues_sounds_path = "/usr/share/sounds/blues"
if not os.path.exists(blues_sounds_path):
    try:
        os.mkdir(blues_sounds_path)
    except OSError:
        # Handle the case where the directory could not be created.

Ответ 2

Python предпочитает английские ключевые слова для пунктуации. Используйте not x, т.е. not os.path.exists(...). То же самое относится к && и ||, которые and и or в Python.

Ответ 3

попробуйте вместо этого:

if not os.path.exists(pathName):
    do this

Ответ 4

Объединяя входные данные от всех остальных (используйте нет, нет парнеров, используйте os.mkdir), которые вы получите...

specialpathforjohn = "/usr/share/sounds/blues"
if not os.path.exists(specialpathforjohn):
    os.mkdir(specialpathforjohn)