Python 오류: ValueError: 기본 10인 int()에 대한 잘못된 리터럴: 'xxx', 해결책은 무엇입니까?
Python 프로그래밍에서는 다양한 오류 메시지를 자주 접하게 됩니다. 그중 ValueError는 잘못된 문자를 정수로 변환하려고 하면 ValueError 오류가 발생하는 일반적인 오류 유형입니다. 일반적인 상황은 int() 함수를 사용하여 문자열을 변환할 때 문자열에 숫자가 아닌 문자나 잘못된 숫자 문자가 포함되는 것입니다.
예를 들어
num = int('xxx')
코드를 실행하면 ValueError:잘못된 리터럴 for int() with base 10: 'xxx' 오류 메시지가 나타납니다.
그럼 이 오류를 해결하는 방법은 무엇일까요? 아래에서는 몇 가지 일반적인 솔루션을 소개하겠습니다.
방법 1: 문자열에 숫자가 아닌 문자가 포함되어 있는지 확인
먼저 변환된 문자열에 숫자가 아닌 문자가 포함되어 있는지 확인해야 합니다. 문자열을 정수로 변환하는 것은 문자열 전체가 숫자로 구성된 경우에만 성공할 수 있습니다. isdigit() 메서드를 사용하여 문자열에 숫자만 포함되어 있는지 확인할 수 있습니다.
num_str = 'xxx' if num_str.isdigit(): num = int(num_str) else: print("字符串中含有非数字字符")
방법 2: try-Exception 문을 사용하여 예외 포착
또 다른 해결책은 try-Exception 문을 사용하여 예외를 포착하는 것입니다. int() 함수를 사용하여 문자열을 변환하는 동안 try 문을 사용할 수 있으며, Except 블록에서 ValueError 예외를 처리할 수 있습니다.
num_str = 'xxx' try: num = int(num_str) except ValueError: print("字符串无法转换为整数")
방법 3: 정규식을 사용하여 숫자가 아닌 문자 필터링
정규식을 사용하면 숫자가 아닌 문자를 쉽게 필터링할 수 있습니다. 정규식과 결합된 re 모듈의 sub() 함수를 사용하여 문자열에서 숫자가 아닌 문자를 빈 문자열로 바꿀 수 있습니다.
import re num_str = 'xxx' num_str = re.sub(r'D', '', num_str) num = int(num_str)
위는 숫자가 아닌 문자를 피하거나, 예외 처리를 사용하거나, 정규 표현식을 사용하여 숫자가 아닌 문자를 필터링함으로써 ValueError:잘못된 리터럴(기본 10: 'xxx)을 성공적으로 해결할 수 있습니다. '실수.
이 기사가 이 오류를 이해하고 해결하는 데 도움이 되기를 바랍니다!
위 내용은 Python 오류: ValueError: 기본 10인 int()에 대한 잘못된 리터럴: 'xxx', 해결책은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!