KeyError:' getpwuid():未找到uid:381206'

时间:2017-08-16 08:15:37

标签: python

我正在运行以下代码以获取所有文件的所有者:

try:
    st=os.stat(file_path)
    uid=st.st_uid
    userinfo=pwd.getpwuid(st.st_uid)
    owner=pwd.getpwuid(st.st_uid).pw_name
    file_info.append((size,file_path,owner))
except OSError as e:
    pass

但是,在处理过程中,它会引发以下错误:

  

KeyError:' getpwuid():未找到uid:381206'

有人知道这个错误吗? pwd中的Python 2.6是否存在任何已知问题?

请注意,这只是我认为相关的代码的一部分,如果需要,我可以提供更多。

1 个答案:

答案 0 :(得分:0)

错误发生在我的 python 版本 php 以及 Linux 中。 就我而言,一旦一个人离开公司,他/她的 UID 将被替换为一个数字,3.5 会因错误而失败。

我用 pwd.getpwuid(st.st_uid) 替换它,它返回 sh.stat('-c', '%U', <path>).stdout.decode('utf-8').strip()