Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để mô phỏng phương thức scanf () bằng Python?

Theo tài liệu Python

Python hiện không có hàm tương đương với scanf (). Biểu thức chính quy thường mạnh hơn, mặc dù cũng dài dòng hơn các chuỗi định dạng scanf (). Bảng dưới đây cung cấp một số ánh xạ tương đương ít nhiều giữa mã thông báo định dạng scanf () và biểu thức chính quy.

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] +

Để trích xuất tên tệp và số từ một chuỗi như

/usr/sbin/sendmail - 0 errors, 4 warnings

bạn sẽ sử dụng định dạng scanf () như

%s - %d errors, %d warnings

Biểu thức chính quy tương đương sẽ là

(\S+) - (\d+) errors, (\d+) warnings