728x90
- 우분투로 파일을 읽으니 정렬이 안되는 문제점이 있었다 그래서 다음과 같이 파일 명을 읽고 그에 대해 정렬하는 것을 진행하여 향후 뒤부분에 일어날 문제를 방지하였다
from glob import glob
import re
# 파일 경로 패턴으로 파일 목록을 가져오기
g = glob("./*.txt") # 파일명 0.0 과 같은 float
# 정렬 전 파일 리스트 출력
print("정렬 전:")
for file_path in g:
print(file_path)
# 파일 목록을 *의 숫자 부분을 기준으로 정렬
g_sorted = sorted(g, key=lambda x: float(re.search(r'\d+\.\d+', x).group()))
# 정렬 후 파일 리스트 출력
print("\n정렬 후:")
for file_path in g_sorted:
print(file_path)
- re.search(r'\d+\.\d+', x): 정규 표현식을 사용하여 파일 경로 x에서 소수점을 포함한 숫자 부분을 찾음.
- \d+: 하나 이상의 숫자에 대응
- \.: 소수점 문자에 대응
- 다양한 숫자와 소수점으로 이루어진 부분을 찾음
- .group(): 정규 표현식에 매치되는 부분을 반환합니다.
- float(...): 반환된 숫자 문자열을 실수형으로 변환합니다.
728x90
'Done > C++_Python' 카테고리의 다른 글
std::stoi, toInt() (0) | 2024.02.27 |
---|---|
[Python] exe file 생성 auto-py-to-exe , pyinstaller gui version (0) | 2024.01.18 |
Convert to C style String <-> C++ style std::string (0) | 2023.11.01 |
[C++] Smart Pointer (Unique pointer, shared pointer) [1] (0) | 2023.09.02 |
[C++] Mutex 누구야? (0) | 2023.08.19 |