如何在python中查明文件夹是否受UAC保护

时间:2016-06-19 17:32:43

标签: python python-3.x windows-10 uac

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

我可以使用ctypes.windll.shell32.IsUserAnAdmin函数查明我的脚本是否具有管理员权限,如果使用ctypes.windll.shell32.ShellExecuteW(None, "runas", "C:\...Python.exe, "C:\...My Program.py", None, 1)没有管理员权限,我可以重新启动该程序。但是我不想在没有UAC权限的情况下每次重启程序,只有当处理的文件夹需要该权限时才会打开它。

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

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

0 个答案:

没有答案