[python] 파이썬에서의 부정

경로가 존재하지 않으면 디렉토리를 만들려고하는데! 연산자가 작동하지 않습니다. 파이썬에서 부정하는 법을 잘 모르겠습니다 … 올바른 방법은 무엇입니까?

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(...). 같은 일이 간다 &&하고 ||있는 있습니다 andor파이썬한다.


답변

대신 시도하십시오 :

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


답변

다른 사람들의 의견을 합치면 (파란 스를 사용하지 말고 사용하십시오 os.mkdir) …

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


답변