일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- first-time robot setup guide
- nav2 development guides
- docker foxy
- setting up transformations
- foxy nav2
- ros2 transformations 개념
- Python
- nav2 tutorial
- ros2 튜토리얼 환경설정
- ros2 development guides
- nav2 first-time robot setup guide
- ros2 foxy docker
- ros2 튜토리얼
- 코드업
- Nav2 document
- ros2 환경설정
- nav2 설치
- ros2 configuring environment
- ros2 foxy tutorial
- nav2 dev contatiner
- CodeUp
- CODEUP 6073
- nav2 튜토리얼
- ROS FOXY 튜토리얼
- nav2 getting started
- humble 환경설정
- ros2 remapping
- humble development guides
- error
- Foxy tutorial
Archives
- Today
- Total
BAN2ARU
[Python] 하위 폴더 내 특정 확장자 파일을 리스트로 불러오기 & 파일 파일탐색기와 같이 숫자순으로 읽어오기 (glob, natsort) 본문
Language/Python
[Python] 하위 폴더 내 특정 확장자 파일을 리스트로 불러오기 & 파일 파일탐색기와 같이 숫자순으로 읽어오기 (glob, natsort)
밴나루 2022. 5. 27. 19:17반응형
하위 폴더(패턴 O) 내 특정 확장자 파일 불러오기
glob을 활용하면 하위 폴더 내에 있는 특정 확장자 파일을 쉽게 불러올 수 있다.
만약, 다음과 같이 폴더가 구성되어 있다고 가정하면,
[dataset folder name = 'test'폴더로 가정]
|-Case1
|-1.txt
|-2.txt
...
|-100.txt
|-Case2
|-1.txt
|-2.txt
...
|-100.txt
|-Case3
|-1.txt
|-2.txt
...
|-100.txt
우리는 ./test 내의 하위 폴더 내의 .txt 파일을 불러오고 싶으면 다음과 같이 작성하면 된다.
import glob
file_list = glob.glob('./Test/**/*.txt')
이런 경우에는 Test의 하위 폴더의 '.txt'로 되어있는 파일이름을 가져올 수 있다.
하위 폴더(패턴 X) 내 특정 확장자 파일 불러오기
근데, 만약에 Test/Case1/Type1/.../1.txt와 같이 하위폴더가 무수히 많은 경우에서 .txt파일을 얻고 싶다면 glob.glob시에 recursive 옵션을 넣어주면 된다.
import glob
file_list = glob.glob('./Test/**/*.txt', recursive=True)
glob.glob으로 불러올 시에 문제점은 파일 탐색기 내에서는
다음과 같은 순서로 구성되어있지만, glob.glob으로 얻은 list의 경우에는
하위 폴더 내 특정 확장자 파일리스트를 파일탐색기와 같은 순서로 정렬하기
다음과 같이 순서가 1->100->11->2 순으로 되어 있어서 이를 탐색기와 같은 순서로 불러오고 싶다면 natsort를 이용하면 된다. (1->100->11->2 순으로 불러오는 이유는 문자열로 인식하기 때문임)
import glob
import natsort
file_list = natsort.natsorted(glob.glob('./Test/**/*.txt'))
이런 경우에 file_list는 다음과 같이 제대로 정렬되는 것을 확인할 수 있다.
728x90
'Language > Python' 카테고리의 다른 글
[Python/Pytorch] TORCH.IS_TENSOR : Torch Tensor 여부 확인 (0) | 2022.05.17 |
---|---|
[Python] Vars( ) 함수 (2) | 2022.05.10 |
[Python] ERROR: No matching distribution found for torchvision==0.8.0+cu110 (0) | 2022.05.09 |
[Python] cython-bbox 설치 윈도우 오류 Building wheel for cython-bbox (setup.py) ... error (0) | 2022.05.09 |
[Python] PackagesNotFoundError : anacona로 pytorch 설치 시 cudatoolkit=11.1 패키지 못 찾는 오류 (0) | 2022.05.05 |
Comments