⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_pwd.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
from test_support import verboseimport pwdimport stringprint 'pwd.getpwall()'entries = pwd.getpwall()for e in entries:    name = e[0]    uid = e[2]    if verbose:        print name, uid    print 'pwd.getpwuid()'    dbuid = pwd.getpwuid(uid)    if dbuid[0] <> name:        print 'Mismatch in pwd.getpwuid()'    print 'pwd.getpwnam()'    dbname = pwd.getpwnam(name)    if dbname[2] <> uid:        print 'Mismatch in pwd.getpwnam()'    else:        print 'name matches uid'    break# try to get some errorsbynames = {}byuids = {}for n, p, u, g, gecos, d, s in entries:    bynames[n] = u    byuids[u] = nallnames = bynames.keys()namei = 0fakename = allnames[namei]while bynames.has_key(fakename):    chars = map(None, fakename)    for i in range(len(chars)):        if chars[i] == 'z':            chars[i] = 'A'            break        elif chars[i] == 'Z':            continue        else:            chars[i] = chr(ord(chars[i]) + 1)            break    else:        namei = namei + 1        try:            fakename = allnames[namei]        except IndexError:            # should never happen... if so, just forget it            break    fakename = string.join(map(None, chars), '')    try:    pwd.getpwnam(fakename)except KeyError:    print 'caught expected exception'else:    print 'fakename', fakename, 'did not except pwd.getpwnam()'# Choose a non-existant uid.fakeuid = 4127while byuids.has_key(fakeuid):    fakeuid = (fakeuid * 3) % 0x10000try:    pwd.getpwuid(fakeuid)except KeyError:    print 'caught expected exception'else:    print 'fakeuid', fakeuid, 'did not except pwd.getpwuid()'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -