os.walk 예제

위의 출력에서 볼 수 있듯이 os.walk 함수에 대한 호출은 생성기 개체를 생성합니다. 모르는 사람들을 위해 Python 생성기 객체는 여러 결과를 사용자에게 하나씩 반환합니다. 파이썬의 os.walk 방법에 대한 보다 포괄적 인 자습서를 보려면 파이썬의 레시피 재귀 파일 및 디렉토리 조작을 확인하십시오. 또는 재귀 사용으로 다른 방법으로 디렉토리를 통과하는 것을 살펴보려면 파이썬에서 레시피 재귀 디렉토리 순회 : 영화 목록을 만드십시오! os builtin 모듈에 대한 Python의 공식 설명서에 따르면 os.walk() 함수는 트리를 하향식 또는 상향식으로 이동하여 디렉토리 트리에서 파일 이름을 생성하는 데 사용됩니다. 공식 문서에서 볼 수 있듯이 os.walk builtin 함수는 루트 자체를 포함하여 트리의 각 디렉터리각각에 대해 3튜플을 생성합니다. os.walk는 위와 약간 다르게 작동합니다. 기본적으로(경로, 디렉토리, 파일)의 투플을 반환합니다. 이를 보려면 다음을 시도합니다: 경로에 의해 지정된 파일의 액세스 및 수정된 시간을 설정합니다. 시간이 없음이면 파일의 액세스 및 수정된 시간이 현재 시간으로 설정됩니다. (이 효과는 경로에서 유닉스 프로그램 터치를 실행하는 것과 유사합니다.) 그렇지 않으면 각각 액세스 및 수정 된 시간을 설정하는 데 사용되는 양식 (atime, mtime)의 2 튜플 번호여야합니다. 경로에 디렉터리를 지정할 수 있는지 여부는 운영 체제가 디렉터리를 파일로 구현하는지 여부에 따라 달라집니다(예: Windows는 제공하지 않음). 여기서 설정한 정확한 시간은 운영 체제에서 액세스 및 수정 시간을 기록하는 해상도에 따라 후속 stat() 호출에 의해 반환되지 않을 수 있습니다.

통계()를 참조하십시오. 대화형 Python 콘솔에서 생성된 위의 추적 에서 볼 수 있듯이 os.walk() 함수는 하나 이상의 인수를 사용합니다. 우리는 인수없이 그것을 호출하기 때문에, 우리는 오류가 있습니다. 탁스 남자! 정확히 내가 찾고 있던 코드 예제 … 즉, os.walk builtin 함수는 루트 트리 내의 모든 디렉터리 이름과 파일 이름을 반환합니다. 파일 설명자는 현재 프로세스에서 연 파일에 해당하는 작은 정수입니다. 예를 들어 표준 입력은 일반적으로 파일 설명자 0이고 표준 출력은 1이고 표준 오차는 2입니다. 그런 다음 프로세스에 의해 열린 추가 파일은 3, 4, 5 등으로 할당됩니다. “파일 설명자”라는 이름은 약간 기만적입니다. 유닉스 플랫폼에서 소켓과 파이프는 파일 설명자에서도 참조됩니다. close 메서드는 하위 프로세스가 성공적으로 종료된 경우 None을 반환하거나 오류가 있는 경우 하위 프로세스의 반환 코드를 반환합니다. POSIX 시스템에서 반환 코드가 양수이면 1바이트로 왼쪽으로 이동한 프로세스의 반환 값을 나타냅니다.

반환 코드가 음수이면 반환 코드의 부정된 값에 의해 제공된 신호에 의해 프로세스가 종료되었습니다. (예를 들어, 반환 값은 – 신호일 수 있습니다. 하위 프로세스가 죽은 경우 SIGKILL입니다.) Windows 시스템에서 반환 값에는 자식 프로세스에서 서명된 정수 반환 코드가 포함됩니다. st_atime, st_mtime 및 st_ctime 특성의 정확한 의미와 해상도는 운영 체제와 파일 시스템에 따라 다릅니다. 예를 들어 FAT 또는 FAT32 파일 시스템을 사용하는 Windows 시스템에서 st_mtime은 2초 해상도를 가지며 st_atime은 1일 해상도만 있습니다. 자세한 내용은 운영 체제 설명서를 참조하십시오. 기본 파일 이름과 확장명을 구분하는 문자입니다. 예를 들어 os.py `.`를 참조하십시오. 또한 os.path를 통해 사용할 수 있습니다. 각 디렉토리 os.walk에 대해, 그것은 또한 하위 디렉토리의 목록을 제공합니다 (subdirList에서).

이 목록을 수정하면 os.walk가 내려갈 하위 디렉토리를 제어할 수 있습니다. 첫 번째 하위 디렉토리를 건너뛸 수 있도록 위의 예제를 조정해 보겠습니다.