如何使用Python模拟scanf()方法?
阅读更多:Python 教程
根据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()格式的方法,例如:
相应的正则表达式将是: