수색…


소개

이 모듈은 운영 체제 종속 기능을 이식 할 수있는 방법을 제공합니다.

통사론

  • 운영 체제 가져 오기

매개 변수

매개 변수 세부
통로 파일 경로. 경로 분리자는 os.path.sep 의해 결정될 수 있습니다.
방법 원하는 허가 (8 진수 (예 : 0700 )

디렉토리 만들기

os.mkdir('newdir')

사용 권한을 지정해야하는 경우 선택적 mode 인수를 사용할 수 있습니다.

os.mkdir('newdir', mode=0700)

현재 디렉토리 가져 오기

os.getcwd() 함수를 사용하십시오.

print(os.getcwd())

운영 체제 이름 결정

os 모듈은 코드가 현재 실행중인 운영 체제 유형을 판별하는 인터페이스를 제공합니다.

os.name

이것은 파이썬 3에서 다음 중 하나를 반환 할 수 있습니다 :

  • posix
  • nt
  • ce
  • java

더 자세한 정보는 sys.platform 에서 검색 할 수 있습니다.

디렉토리 제거

path 에서 디렉토리를 제거하십시오.

os.rmdir(path)

디렉토리를 제거하기 위해 os.remove() 를 사용하면 os.remove() . 이 함수는 파일 용 이며 디렉토리에서 사용하면 OSError

심볼릭 링크 (POSIX) 따라 가기

때로는 심볼릭 링크의 대상을 결정해야합니다. os.readlinkos.readlink 할 것입니다 :

print(os.readlink(path_to_symlink))

파일에 대한 사용 권한 변경

os.chmod(path, mode)

여기서 mode 는 원하는 사용 권한 (8 진수)입니다.

makedirs - 재귀 적 디렉토리 생성

다음 내용이 포함 된 로컬 디렉토리가 제공됩니다.

 └── dir1
     ├── subdir1
     └── subdir2

우리는 아직 존재하지 않는 새로운 디렉토리 dir2 아래에 동일한 subdir1, subdir2를 생성하려고합니다.

import os

os.makedirs("./dir2/subdir1")
os.makedirs("./dir2/subdir2")

이 결과를 실행하면

├── dir1
│   ├── subdir1
│   └── subdir2
└── dir2
    ├── subdir1
    └── subdir2

dir2는 subdir1이 작성 될 때 처음으로 필요한 경우에만 작성됩니다.

대신 os.mkdir 을 사용 했다면 dir2가 아직 존재하지 않았기 때문에 예외가있었습니다.

    os.mkdir("./dir2/subdir1")
OSError: [Errno 2] No such file or directory: './dir2/subdir1'

os.makedirs는 대상 디렉토리가 이미 존재하면 그것을 좋아하지 않습니다. 다시 실행하면

OSError: [Errno 17] File exists: './dir2/subdir1'

그러나 예외를 포착하고 디렉토리가 작성되었는지 점검하여 쉽게 수정할 수 있습니다.

try:
    os.makedirs("./dir2/subdir1")
except OSError:
    if not os.path.isdir("./dir2/subdir1"):
        raise

try:
    os.makedirs("./dir2/subdir2")
except OSError:
    if not os.path.isdir("./dir2/subdir2"):
        raise


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow