Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะจำลองวิธี scanf () โดยใช้ Python ได้อย่างไร


ตามเอกสารของ Python

ปัจจุบัน Python ไม่มีสิ่งที่เทียบเท่ากับ scanf() นิพจน์ทั่วไปมักจะมีประสิทธิภาพมากกว่า แม้ว่าจะมีรายละเอียดมากกว่าสตริงรูปแบบ scanf() ตารางด้านล่างนำเสนอการจับคู่ที่เทียบเท่าไม่มากก็น้อยระหว่างโทเค็นรูปแบบ scanf() และนิพจน์ทั่วไป

scanf() TokenRegular Expression

%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