如何确定文件夹在python中是否受UAC保护

如何确定文件夹在python中是否受UAC保护,python,python-3.x,windows-10,uac,Python,Python 3.x,Windows 10,Uac,我正在创建一个程序,允许我同步计算机中的目录(例如,将文档保存在USB磁盘上)。通过这样做,我可能必须复制文件/创建目录,甚至删除UAC保护文件夹中的文件和文件夹(我将所有python程序保存在C:\Program files\Python35中) 我可以使用ctypes.windell.shell32.IsUserAnAdmin函数来确定我的脚本是否具有管理员权限,如果它没有管理员权限,我可以使用ctypes.windell.shell32.ShellExecuteW(None,“runas”

我正在创建一个程序,允许我同步计算机中的目录(例如,将文档保存在USB磁盘上)。通过这样做,我可能必须复制文件/创建目录,甚至删除UAC保护文件夹中的文件和文件夹(我将所有python程序保存在C:\Program files\Python35中)

我可以使用
ctypes.windell.shell32.IsUserAnAdmin
函数来确定我的脚本是否具有管理员权限,如果它没有管理员权限,我可以使用
ctypes.windell.shell32.ShellExecuteW(None,“runas”,“C:\…Python.exe”,“C:\…my program.py”,None,1)来重新启动程序
。但我不希望每次用户在没有UAC权限的情况下打开程序时都必须重新启动程序,除非处理的文件夹需要该权限

我当前的方法是使用
os.mkdir
将文件夹放入其中,捕获
PermissionError 13
,并在没有异常发生时删除该目录


我是否有办法确定某个特定目录是否要求我的程序拥有UAC权限,以便复制文件、创建目录和删除其中的文件/文件夹?或者我是否可以正确地假设当前用户目录(由
os.environ[“home”]
返回)之外的所有内容以及本地硬盘(C:)需要UAC权限?

如果当前用户未获得写入权限,请检查其权限/ACL;如果管理组拥有所有权限,请检查管理组是否拥有完全权限并提供提升提示如果管理组未获得写入权限,请检查当前用户的权限/ACL;如果管理组拥有完全权限并提供提升提示提示管理员组是否具有所有权限