파일 목록 출력
현재 위치에서 파일인지 디렉토리인지 판단하여 출력해주는 프로그램을 만들어 보도록 하겠습니다. 그전에 간단하게 몇 몇 기능들을 확인해 보도록 하죠.
현재위치 확인
os 모듈을 추가한 후 getcwd()를 사용해 보죠. 출력 값으로 해당 위치가 어디인지 알려줍니다.
디렉토리 만들기
리눅스를 사용해 보셨다면 디렉토리를 만들 때, mkdir 명령어를 이용하여 디렉토리를 만들었을 겁니다. python을 이용하여 디렉토리를 만들 때 os 모듈을 이용해서 디렉토리를 만들 수 있습니다. os.mkdir를 이용하면 디렉토리를 만들 수 있습니다.
존재하는 파일 확인
마찬가지로 현재 위치에서 존재하는 파일을 확인할 때 os 모듈을 이용하는데 listdir()를 이용합니다.
. 는 현재 위치에 존재하는 파일의 목록을 나타내주고 /는 root의 위치에 목록을 보여줍니다.
소스코드 작성
현재 위치한 곳에서 파일인지 디렉토리인지 구별하는 소스코드 입니다. os.path.isfile을 보면 path는 경로를 나타내는 것이고, isfile은 말 그대로 file인지를 판단하는 것입니다.
마찬가지로 isdir은 디렉토리인지 묻고 있습니다. 출력 값을 보면 알 수 있을 것입니다.
추가적으로 glob 모듈이 있는데 아래 소스코드를 보도록 하죠.
glob 모듈의 glob()를 이용하면 해당 경로에 위치하는 모든 파일과 디렉토리를 리스트로 반환합니다.
os.path.join(".", "*.py")를 통해서 현재 경로의 .py가 들어간 것만 출력을 해주고 있습니다. 여기서 join은 디렉토리 경로명 연결을 말합니다.
os.path.join("A", "B", "C") 라면 A\B\C와 같은 뜻입니다.
만약 다른 확장자의 파일을 찾고 싶다면 *.text와 같은 꼬롤 변경하면 됩니다.