如何使用 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

更新時間:2023-11-02

6 千多次瀏覽

開啟你的 職業

完成課程後取得認證

立即開始
廣告
© . All rights reserved.