我正在运行以下代码以获取所有文件的所有者:
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
是否存在任何已知问题?
请注意,这只是我认为相关的代码的一部分,如果需要,我可以提供更多。
答案 0 :(得分:0)
错误发生在我的 python 版本 php
以及 Linux 中。
就我而言,一旦一个人离开公司,他/她的 UID 将被替换为一个数字,3.5
会因错误而失败。
我用 pwd.getpwuid(st.st_uid)
替换它,它返回 sh.stat('-c', '%U', <path>).stdout.decode('utf-8').strip()
。