如何使用 Python 模拟 scanf() 方法?

pythonserver side programmingprogramming

根据 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 个错误,4 个警告

您可以使用类似这样的 scanf() 格式

%s - %d 个错误,%d 个警告

等效的常规表达式将是

(\S+) - (\d+) 错误,(\d+) 警告

相关文章


有用资源