我正在寻找与 Python 中的 sscanf()
等价的程序。我想解析 /proc/net/*
文件,在 C 语言中我可以这样做:
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);
起初我想使用 str.split
,但是它并不分割给定的字符,而是将 sep
字符串作为一个整体:
>>> lines = open("/proc/net/dev").readlines()
>>> for l in lines[2:]:
>>> cols = l.split(string.whitespace + ":")
>>> print len(cols)
1
如上所述,应该返回17。
是否有一个 Python 等价于 sscanf
(而不是 RE) ,或者在标准库中有一个字符串分割函数,可以在我不知道的字符范围内进行分割?