python 获得 windows 系统里 文件/文件夹 的 所有者

先安装 python3.5, 再安装 pywin32-227.win32-py3.5.exe (对应32位 python)或 pywin32-227.win-amd64-py3.5.exe(对应64位 python)

 

获得 文件 的 所有者,运行:

import win32api
import win32con
import win32security

# 获得登陆用户的名字
print "I am", win32api.GetUserNameEx(win32con.NameSamCompatible)


FILENAME = "temp.txt"
open(FILENAME, "r").close()  # 这里要写 "r",不能写 "w"

sd = win32security.GetFileSecurity(FILENAME, win32security.OWNER_SECURITY_INFORMATION)
owner_sid = sd.GetSecurityDescriptorOwner()
name, domain, type = win32security.LookupAccountSid(None, owner_sid)

print "File owned by %s\\%s" % (domain, name)

打印结果:

I am 当前登陆用户名\当前登陆用户名
File owned by 文件的所有者所属的域\文件的所有者的用户名

 

获取 文件夹 的 所有者,运行:

import win32api
import win32con
import win32security

FILENAME = "d:\\test"

sd = win32security.GetFileSecurity(FILENAME, win32security.OWNER_SECURITY_INFORMATION)
owner_sid = sd.GetSecurityDescriptorOwner()
name, domain, type = win32security.LookupAccountSid(None, owner_sid)

print "Dir owned by %s\\%s" % (domain, name)

 打印结果:
Dir owned by 文件夹的所有者所属的域\文件夹的所有者的用户名

-----------------------------------------------------------------------------

其他参考:

各个版本 pywin32 的下载地址:   https://github.com/mhammond/pywin32/releases

解决在Python中使用Win32api报错的问题,No module named win32api: https://www.cnblogs.com/SH170706/p/9640110.html

这段 python 程序的英语说明: http://timgolden.me.uk/python/win32_how_do_i/get-the-owner-of-a-file.html

 

 

 

你可能感兴趣的:(python)