logo

파이썬 os.listdir() 메서드

우리는 살면서 디렉터리(폴더)에 몇 개의 파일이 있고 어떤 파일이 있는지 알고 싶은 경우를 너무 많이 접했을 가능성이 높습니다. 또는 때로는 파일을 찾아야 할 때 파일 이름은 알지만 해당 파일이 어느 폴더에 있는지는 알 수 없습니다. 이 경우 우리에게 남은 유일한 옵션은 대상 디렉터리에서 파일을 찾는 것입니다.

이제 우리 중 많은 사람들이 생각하는 것이 너무 쉬워 보일 것입니다. 우리는 디렉토리로 가서 거기를 보면 됩니다. 이는 가능한 옵션이지만 이 옵션은 해당 디렉터리에 있는 파일 수가 더 적은 경우에만 작동합니다. 그래야만 해당 디렉토리를 수동으로 방문하여 거기에 있는 파일을 찾을 수 있습니다. 그러나 파일 수가 많은 경우 대상 디렉터리에 수천 개의 파일이 있다고 가정해 보겠습니다. 이 경우 수천 개의 파일이 있는 대상 디렉터리에 특정 파일이 있는지 검색하는 데 매우 오랜 시간(심지어 며칠)이 걸리기 때문에 이 옵션은 작동하지 않습니다. 수천 개의 파일이 있는 디렉토리에서 해당 이름의 파일을 찾아야 한다면 어떻게 해야 할 것 같습니다.

파일 탐색기를 통해 이름을 검색할 수 있지만 그렇게 하면 이전 옵션과는 달리 시간이 많이 걸릴 것입니다. 하지만 시간이 많이 걸립니다. 이는 파일 탐색기가 디렉터리에 있는 모든 파일을 검색하므로 디스크 검색이 완료될 때까지 기다려야 하기 때문입니다.

그러나 대상 디렉터리나 경로에 있는 모든 파일의 이름을 이미 제공했다고 말하면 어떻게 될까요? 그러면 지정된 파일이 대상 경로에 있는지 확인하는 것이 매우 쉬울 것이며 대상 디렉터리에 있는 모든 파일의 이름을 가져와야 하는 위치도 보여줍니다.

디렉토리에 있는 모든 파일의 이름 목록이 텍스트 형식으로 제공되면 검색창에 해당 특정 파일의 이름을 입력하기만 하면 됩니다. 그런 다음 파일이 이름 목록에 있는지 여부를 확인하는 데 거의 1초도 걸리지 않습니다. 따라서 디렉터리나 경로에 있는 모든 파일의 이름 목록을 인쇄할 수 있는 방법을 갖는 것이 얼마나 중요한지 이해할 수 있습니다.

Python은 이름 목록을 인쇄할 수 있는 메소드를 제공하며, 그러한 메소드 중 하나는 'os' 모듈의 listdir() 함수입니다. 우리는 이 튜토리얼에서 이 listdir() 메소드를 배우고 이를 Python 프로그램에서 사용하여 지정된 경로에 있는 모든 파일의 이름 목록을 인쇄할 것입니다.

파이썬 프로그램

Python의 os.listdir() 메서드

listdir() 함수는 os 모듈에서 제공하는 함수로, 이 함수를 사용하면 지정된 경로에 있는 모든 파일의 이름 목록을 인쇄할 수 있습니다. listdir() 메서드는 현재 작업 디렉터리(프로그램이 있는 곳)에 있는 파일 목록을 인쇄하려는 경우에도 사용할 수 있습니다. 지정된 디렉터리에 있는 모든 파일의 이름을 가져와야 할 때마다 listdir() 메서드를 사용할 수 있습니다.

os.listdir() 함수의 구문:

다음은 os 모듈의 listdir() 함수를 사용하기 위한 구문입니다:

 >> os.listdir(pathSpecified) 

매개변수:

위에 제공된 구문에서 볼 수 있듯이 listdir() 메서드 내부에 인수만 제공했습니다. listdir() 함수는 다음 경로 매개변수를 사용합니다:

    지정된 경로:여기서 pathSpecified 변수는 모든 파일의 이름을 알고 싶은 대상 디렉터리의 경로를 나타냅니다. 이것은 listdir() 함수의 선택적 인수이며, 함수 내에 지정된 경로를 제공하지 않으면 현재 작업 디렉터리의 모든 파일 이름이 인쇄됩니다.

반환 유형:

listdir() 함수의 반환 유형은 지정된 디렉터리에 있는 모든 파일의 이름 목록을 반환하므로 'list'입니다.

os.listdir() 메서드: 구현:

listdir() 함수의 작동 및 구현을 이해하기 위해 예제 프로그램에서 이를 사용하고 여기에서 파일 이름 목록을 인쇄합니다. listdir() 함수의 구현 부분을 다음 두 부분으로 나누었습니다.

  1. 현재 작업 디렉토리에서 파일 이름 인쇄
  2. 지정된 경로에서 파일 이름 인쇄

각 카테고리에 대한 예제 프로그램을 사용하고 각 방법에서 파일 이름을 가져옵니다.

방법 1: 현재 작업 디렉터리에서 파일 이름 인쇄:

이 방법에서는 os 모듈의 다른 함수, 즉 getcwd() 함수를 사용하여 현재 작업 디렉터리의 파일 이름 목록을 인쇄합니다. 이 메소드의 구현을 이해하려면 다음 예제 프로그램을 살펴보십시오.

예시 1:

경로 인수와 함께 os.listdir() 메서드를 사용한 다음 Python 프로그램을 살펴보세요.

 # Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

산출:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

보시다시피 현재 작업 디렉토리에 있는 모든 파일의 이름이 프로그램 출력에 인쇄됩니다.

설명:

프로그램에서 os 모듈을 가져온 후 getcwd() 함수를 사용하여 현재 작업 디렉터리의 경로를 가져왔습니다. 'pathSpecified'라는 이름으로 변수를 초기화하고 이 변수에 현재 작업 디렉터리의 경로를 저장했습니다. 그 후, 다른 초기화된 변수(예: listOfFileNames)에서 listdir() 함수를 사용하여 이 변수에 모든 파일의 이름을 저장했습니다. listdir() 함수의 인수로 현재 작업 경로에 대한 초기화 변수를 제공했으며 마지막으로 print 문을 사용하여 출력에 있는 모든 이름의 목록을 인쇄했습니다.

프로그램에서 다른 기능을 사용하고 싶지 않다면 프로그램이 있는 현재 디렉터리에서 모든 파일 이름을 가져올 수도 있습니다. 디렉토리 경로를 인수로 제공하는 대신 listdir() 함수를 그대로 두면 프로그램이 실행될 때 출력 결과로 현재 디렉토리에 있는 모든 이름 목록이 제공됩니다. 이 메소드의 구현을 이해하려면 다음 예제 프로그램을 살펴보십시오.

크루스칼 알고리즘'

예 2:

인수 없이 os.listdir() 메서드를 사용한 다음 Python 프로그램을 살펴보세요.

 # Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

산출:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

보시다시피, 프로그램이 실행된 후 Python이 설치된 현재 파일에 있는 모든 파일 이름 목록이 출력에 인쇄됩니다.

라텍스의 부분 파생물

설명:

이 프로그램에서는 path 매개변수를 생략했지만 여전히 현재 작업 디렉터리에 있는 모든 파일 이름 목록을 가져옵니다. 현재 작업 디렉토리에서 모든 파일 이름의 목록을 얻으려면 이 방법을 사용하는 것이 좋습니다. 이 방법에서는 인수를 사용하거나 경로 변수를 정의할 필요가 없으므로 프로그램에서 추가 코드 줄을 절약하고 시간을 절약할 수 있습니다.

방법 2: 지정된 경로에서 파일 이름 인쇄:

이 방법에서는 listdir() 함수 내에 지정된 디렉터리 경로를 제공하여 지정된 디렉터리에 있는 모든 파일의 이름 목록을 가져올 수 있습니다. 파일의 속성 옵션에서 디렉터리 경로를 얻은 다음 프로그램에서 동일한 파일을 사용할 수 있습니다. 이 메소드의 구현을 이해하려면 다음 예제 프로그램을 살펴보십시오.

예시 3:

경로 인수와 함께 os.listdir() 메서드를 사용한 다음 Python 프로그램을 살펴보세요.

 # Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames) 

산출:

 Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

보시다시피, 지정된 디렉토리에 있는 모든 파일의 이름이 프로그램 출력에 인쇄됩니다.

설명:

프로그램에서 os 모듈을 가져온 후 먼저 경로 변수를 초기화하여 모든 파일 이름 목록을 인쇄하려는 디렉터리의 경로를 정의했습니다. 그런 다음 listdir() 메서드 내에서 초기화된 경로 변수를 사용하여 해당 경로를 함수의 인수로 사용했습니다. 마지막으로 print 문 내에서 또 다른 초기화된 변수(listOfFileNames)를 사용하여 결과를 출력에 인쇄했습니다.

결론

우리는 이 튜토리얼에서 os 모듈의 listdir() 메소드에 대해 배웠고 이 함수의 중요성을 이해했습니다. 이 함수의 구문을 배우고, 그 다음에는 이 함수를 사용하는 방법을 배웁니다. 마지막으로, 우리는 각 메소드의 구현을 이해하기 위해 listdir() 함수와 함께 Python 프로그램을 사용했습니다.