Je suis à la recherche d'un équivalent de sscanf()
en Python. Je veux analyser /proc/net/*
fichiers en C je pourrais faire quelque chose comme ceci:
int matches = sscanf(
buffer,
"%*d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %*X %*X:%*X %*X:%*X %*X %*d %*d %ld %*512s\n",
local_addr, &local_port, rem_addr, &rem_port, &inode);
Je pensais au début à utiliser str.split
, toutefois, il ne faut pas se déchirer sur les personnages, mais l' sep
chaîne de caractères comme un ensemble:
>>> lines = open("/proc/net/dev").readlines()
>>> for l in lines[2:]:
>>> cols = l.split(string.whitespace + ":")
>>> print len(cols)
1
Ce qui devrait être de retour le 17, comme expliqué ci-dessus.
Est-il un Python équivalent à sscanf
(pas de RÉ), ou une chaîne de fractionnement de la fonction de la bibliothèque standard, qui se fend sur toute une gamme de personnages que je ne suis pas au courant?