如何使用 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP