경로가 존재하지 않으면 디렉토리를 만들려고하는데! 연산자가 작동하지 않습니다. 파이썬에서 부정하는 법을 잘 모르겠습니다 … 올바른 방법은 무엇입니까?
if (!os.path.exists("/usr/share/sounds/blues")):
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
답변
파이썬의 부정 연산자는 not
입니다. 따라서 당신의 교체 !
와 함께 not
.
예를 들어 다음과 같이하십시오.
if not os.path.exists("/usr/share/sounds/blues") :
proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
proc.wait()
Neil이 주석에서 말한 것처럼 특정 예제의 경우 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.
답변
파이썬은 문장 부호보다 영어 키워드를 선호합니다. not x
즉을 사용하십시오 not os.path.exists(...)
. 같은 일이 간다 &&
하고 ||
있는 있습니다 and
및 or
파이썬한다.
답변
대신 시도하십시오 :
if not os.path.exists(pathName):
do this
답변
다른 사람들의 의견을 합치면 (파란 스를 사용하지 말고 사용하십시오 os.mkdir
) …
specialpathforjohn = "/usr/share/sounds/blues"
if not os.path.exists(specialpathforjohn):
os.mkdir(specialpathforjohn)