> 백엔드 개발 > 파이썬 튜토리얼 > `split()`을 사용하여 입력 줄을 분할할 때 ValueError를 처리하는 방법은 무엇입니까?

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

DDD
풀어 주다: 2024-11-29 22:30:13
원래의
675명이 탐색했습니다.

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

입력 줄 분할: ValueError 처리

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

ValueErrors 이해

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

ValueError의 원인

특정 코드에서 ValueError는 마지막 줄에서 발생할 가능성이 높습니다. 빈 공간만 포함될 수 있는 입력 파일입니다. 이러한 빈 공간에 대해 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 문을 추가하면 콜론 구분 기호가 없는 행을 필터링하고 Split() 함수에서 ValueError가 발생하는 것을 방지할 수 있습니다.

위 내용은 `split()`을 사용하여 입력 줄을 분할할 때 ValueError를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿