안녕하세요.
오늘은 파이썬에서 strptime() 함수를 다루다가 발생하는 'TypeError: strptime() argument 0 must be str, not <class 'type'>' 에러 내용에 대해 포스팅하려고 합니다. 간단한 내용이지만 어떤 상황에 에러가 나고, 해결 방안이 무엇인지 알아보도록 하겠습니다.
그럼 바로 시작하겠습니다.
예제
에러 발생 소스 코드
import time
def task():
# strptime
# str = '2023-01-01 09:10:05'
strptime = time.strptime(str, '%Y-%m-%d %H:%M:%S')
print(strptime)
if __name__ == '__main__':
task()
위의 소스 코드를 보게 되면 parsing 할 대상의 값이 없는데 인자값으로 넘겨주도록 설정하였습니다. 이런 경우에 위의 에러가 발생할 수 있습니다.
실행 결과
실행 결과는 위와 같이 동일한 에러가 발생을 하였습니다. 날짜 유형으로 바꿔줄 대상 값이 문제가 있을 경우에 발생하는 에러인 것 같습니다.
그럼 위의 소스 코드에서 주석 처리한 부분을 해제하고 실행해 보겠습니다.
주석 해제 후 정상 소스 코드
import time
def task():
# strptime
str = '2023-01-01 09:10:05'
strptime = time.strptime(str, '%Y-%m-%d %H:%M:%S')
print(strptime)
if __name__ == '__main__':
task()
주석 해제 후 바로 실행해 보겠습니다.
실행 결과
정상 출력된 결과 화면입니다.
마무리
에러 원인
time.strptime('', '%Y-%m-%d %H:%M:%S')
함수를 사용할 때 첫 번째 인자값으로 넘겨줄 대상 값이 없거나 타입이 맞지 않을 경우 에러 발생
해결 방안
time.strptime('2023-01-02 10:21:30', '%Y-%m-%d %H:%M:%S')
위의 예시처럼 인자값이 정상적으로 입력되도록 처리
오늘은 이렇게 파이썬의 time.strptime() 함수의 에러 처리 방법에 대해 정리해 봤습니다. 프로그래밍을 하면서 마주하는 에러는 정말 많고 다양하기 때문에 마주했던 에러도 항상 검색을 해서 찾게 되더라고요... 예전에 찾아서 해결했던 에러였지만 시간이 지나고 찾기 어려운 글도 많다 보니 직접 글로 남기게 됐습니다. 앞으로도 간단한 에러들도 이렇게 하나하나 포스팅을 해서 기록을 해보려고 합니다 :)
시간 다루는 기능들도 많이 사용하기 때문에 에러에 대한 처리 방법도 알아두면 참 좋을 것 같습니다!
그럼 오늘도 저의 작고 소중한 글을 읽어주셔서 감사합니다!

'Python' 카테고리의 다른 글
파이썬 time data 'X' does not match format '%Y-%m-%d' 에러 해결하기 (time.strptime()) (0) | 2023.01.27 |
---|---|
파이썬 unconverted data remains 에러 해결하기 (0) | 2023.01.26 |
파이썬 시간 format과 parse 알아보기 (time strftime(), strptime()) (0) | 2023.01.24 |
파이썬 시간지연 예제로 알아보기 time.sleep() (1) | 2023.01.23 |
[Python] 파이썬 문자열에서 특정 문자 찾기 (find, startswitch, endswitch, index) (0) | 2023.01.09 |