반응형
원하는 파일 경로에서 "test"라는 단어로 시작하는 파일의 이름을 추출하고 싶다고 가정해 보자.
(나의 경우 파일이름이 "test"를 포함하는 경우 "test"로 시작함)
예) 이 경로에서 [test1, test2, test3]이라는 파일 이름의 리스트를 추출하고 싶음
[WindowsPath('O:ABC/test1'),
WindowsPath('O:ABC/test2'),
WindowsPath('O:ABC/test3')]
안 좋은 답:...
리스트를 만들어서 for loop을 이용해 test가 있는지 확인하고, 있으면 리스트로 append 함
test_list = []
for fname in os.listdir(test_path):
if 'test' in fname:
test_list.append(fname)
하지만 저 위의 코드를 Path.glob을 이용하면 아래와 같이 한 줄로 구현할 수 있다.
glob function 에는 pattern을 인자로 넣어줘야 하는데, 이때 패턴이란 이 경우에 "test"가 된다. "test"로 시작하는 모든 파일을 포함하기위해 test*을 사용했다.
# test_path 는 pathlib 라이브러리의 Path 를 통해 얻음
test_list = {f.parent.stem for f in test_path.glob("test*/xxx.csv")}
여기에 stem function을 이용해 내가 원하는 마지막 경로의 이름을 추출했다.
[f.parent for f in moe_file.glob("ABC*/xx.csv")]
# [WindowsPath('O:ABC/test1'), WindowsPath('O:ABC/test2'), WindowsPath('O:ABC/test3')]
[f.parent.stem for f in moe_file.glob("ABC*/xx.csv")]
# ['test1','test2','test3']
배움을 기록하기 위한 공간입니다.
수정이 필요한 내용이나 공유하고 싶은 것이 있다면 언제든 댓글로 남겨주시면 환영입니다 :D
반응형
'배움 기록 > Programming' 카테고리의 다른 글
[python] Dataclasses 모듈은 무엇인가 , 장점은? (feat. **kwargs) (0) | 2023.04.04 |
---|---|
[python] argparse 사용법, verbose 란 ? (0) | 2023.04.03 |
[python] plt.savefig 이미지 잘리는 경우, 해결방법 3가지 (0) | 2023.03.27 |
[repository setup] packaging 관련 파일 - setup.py, setup.cfg 란? (0) | 2023.03.16 |
[python] A value is trying to be set on a copy of a slice from a DataFrame 해결방법 (0) | 2023.03.08 |