본문 바로가기

AIFEEL

[파이썬] 문자열 다루기 - startswith, endswith

1. statrswith()

startswith('OB') 라고 하면, OB로 시작하는 문자열을 가져온다.

EmployeeID = ['OB94382', 'OW34723', 'OB32308', 'OB83461', 
                                  'OB74830', 'OW37402', 'OW11235', 'OB82345'] 
Production_Employee = [P for P in EmployeeID if P.startswith('OB')]   
# 'OB'로 시작하는 직원 ID를 다 찾기

Production_Employee

※주의사항

리스트에 바로  startswith() 함수를 쓰면 안된다.

AttributeError: 'list' object has no attribute 'startswith'

리스트 데이터타입은 startswith 라는 메서드를 갖고 있지 않아, 속성 에러가 발생한다.

무조건 반복문으로 활용해야 하는 것 같다.

 

 

2. endswith()

 

png, .jpg, .jpeg 등 다양한 그림 파일들이 저장되어 있다.

여기서 .png 파일만 얻고자 할때, endswith()를 통해 해당 파일(들)을 찾을 수 있다.

특정 확장자 파일을 찾을 때, 유용할 것 같다.

images = ['image1.jpeg', 'image2.jpeg', 'image3.jpeg', 'image1.png', 'image2.png']

png_image = [P for P in images if P.endswith('png')]   
# 'png'로 끝나는 이미지 파일 이름 다 찾기

png_image

 

+ 응용

os라는 패키지를 임포트하여, 내 컴퓨터 로컬 환경에서 응용할 수 있다.


os가 무엇인가?

os는 operating system의 약자로,
운영체제를 의미한다.

 

현재 디렉토리 : os.getcwd()
디렉토리 변경: os.chdir("디렉토리 경로")
현재 디렉토리의 파일 목록 확인: os.listdir()


예시 : 

import os
photo = os.listdir('/Users/Documents/photo') # 각자 경로 지정 필요
png = [png for png in photo if png.endswith('.png')]
print(png)