XML 피드에서 추출한 문자열을 포함하는 변수가 있습니다. 문자열 값은 정수, 날짜 또는 문자열 형식 일 수 있습니다. 문자열에서 주어진 데이터 형식으로 변환해야합니다. 나는 이렇게하고있다. 그러나 좀 더 못생긴 것이므로 더 나은 기술이 있는지 묻고있다. 만약 내가 더 많은 타입을 검사한다면, 나는 매우 중첩 된 try - except 블록으로 끝낼 것이다.여러 유형의 문자열 검사
def normalize_availability(self, value):
"""
Normalize the availability date.
"""
try:
val = int(value)
except ValueError:
try:
val = datetime.datetime.strptime(value, '%Y-%m-%d')
except (ValueError, TypeError):
# Here could be another try - except block if more types needed
val = value
고마워요!
무엇을이 기능을 반환해야? int, date 또는 str인지 여부를 확인하고 True/False를 반환합니까? – Nitzle
반환 값은 중요하지 않습니다. 여러 번 제외하고 중첩 시도 이외의 다른 방식으로 문자열을 특정 데이터 유형으로 변환하는 더 좋은 해결책이있는 경우가 중요합니다. 4 가지 데이터 유형을 검사한다면 3 단계의 try-except 블록을 갖게됩니다. – Bruce