"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > `split()`을 사용하여 입력 줄을 분할할 때 ValueError를 처리하는 방법은 무엇입니까?

`split()`을 사용하여 입력 줄을 분할할 때 ValueError를 처리하는 방법은 무엇입니까?

2024년 11월 24일에 게시됨
검색:546

How to Handle ValueErrors When Splitting Input Lines with `split()`?

입력 라인 분할: ValueError 처리

split() 함수를 사용하여 입력 라인을 분할할 때 입력 라인에 다음이 포함되어 있는지 확인하는 것이 중요합니다. 예상되는 구분 기호. 줄에 콜론(:)과 같은 지정된 구분 기호가 없으면 분할() 함수는 단일 값이나 예외를 반환합니다.

ValueErrors 이해

  • ValueError: 압축을 풀려면 2개 이상의 값이 필요합니다: Split() 함수가 하나의 값만 반환할 때 발생합니다. 즉, 구분 기호가 없음을 의미합니다. 입력 줄에.
  • ValueError: 너무 많은 값을 압축 해제할 것입니다(예상 2): 반대로 이 오류는 Split() 함수가 예상보다 더 많은 값을 반환했음을 나타냅니다. 입력 줄의 여러 구분 기호로 인해 발생하는 경우가 많습니다.

ValueErrors의 원인

특정 코드에서 ValueErrors는 마지막 줄에서 발생할 가능성이 높습니다. 빈 공간만 포함될 수 있는 입력 파일입니다. 이러한 빈 공간에 대해 string.strip()을 수행하면 빈 문자열이 반환되고, 콜론으로 분할하면 빈 문자열이 제공됩니다. 이로 인해 단일 요소가 남게 되어 "압축을 풀려면 2개 이상의 값이 필요합니다." 오류가 발생합니다.

해결책

이러한 ValueError를 방지하려면 검사를 구현할 수 있습니다. 각 줄에 예상되는 구분 기호가 있는지 확인하십시오. 수정된 코드 버전은 다음과 같습니다.

questions_list = []
answers_list = []

with open('qanda.txt', 'r') as questions_file:
    for line in questions_file:
        line = line.strip()
        if ':' in line:
            questions, answers = line.split(':')
            questions_list.append(questions)
            answers_list.append(answers)

콜론 구분 기호를 확인하는 if 문을 추가하면 콜론 구분 기호가 없는 행을 필터링하고 분할() 함수에서 ValueErrors가 발생하는 것을 방지할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3