Отрицание в 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)