Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python을 사용하여 scanf() 메서드를 시뮬레이션하는 방법은 무엇입니까?

<시간/>

Python 문서에 따름

Python에는 현재 scanf()와 동일한 기능이 없습니다. 정규식은 일반적으로 scanf() 형식 문자열보다 더 강력하지만 더 장황합니다. 아래 표는 scanf() 형식 토큰과 정규 표현식 사이에 어느 정도 동등한 매핑을 제공합니다.

scanf() 토큰 정규식

%c
.
%5c
.{5}
%d
[-+]?\d+
%e, %E, %f, %g
[-+]?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?
%i
[-+]?(0[xX][\dA-Fa-f]+|0[0-7]*|\d+)
%o
[-+]?[0-7]+
%s
\S+
%u
\d+
%x, %X
[-+]?(0[xX])?[\dA-Fa-f]+

다음과 같은 문자열에서 파일 이름과 숫자를 추출하려면

/usr/sbin/sendmail - 0 errors, 4 warnings

다음과 같은 scanf() 형식을 사용합니다.

%s - %d errors, %d warnings

이에 상응하는 정규식은

(\S+) - (\d+) errors, (\d+) warnings