일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ros2 foxy docker
- CODEUP 6073
- ROS FOXY 튜토리얼
- ros2 foxy understanding parameters
- ubuntu humble 설치
- ros2 param get
- Nav2 document
- docker foxy
- ros2 foxy 튜토리얼
- CodeUp
- error
- foxy nav2
- ros2 foxy tutorial
- Python
- ros2 remapping
- ros2 튜토리얼
- ubuntu ros2 설치
- ros2 param list
- ros2 param dump
- ros2 foxy parameters
- nav2 behavior trees
- 22.04 ros2 설치
- Foxy tutorial
- 코드업
- ros2 humble install
- nav2 행동트리
- ros2 param load
- ros2 param set
- nav2 doc behavior trees
- ROS2 Humble 설치
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