Forma de crossplataforma para verificar os direitos de administrador no script python?

2

Existe alguma maneira multiplataforma para verificar se meu script python é executado sob direitos de administrador? Infelizmente, os.getuid () é somente UNIX e não está disponível no windows: (.

    
por grigoryvp 22.06.2009 / 12:53

2 respostas

3
import ctypes
import os

try:
    is_admin = os.getuid() == 0
except AttributeError:
    is_admin = ctypes.windll.shell32.IsUserAnAdmin()

print is_admin
    
por 22.06.2009 / 13:22
1

"Direitos de administrador" não tem sentido. Tanto o Unix quanto o Windows têm uma longa lista de privilégios diferentes que um determinado usuário pode ou não ter. Você deve apenas tentar fazer o que você quer fazer e usar exceções para lidar com a falta de privilégios. É para isso que eles estão lá.

    
por 22.06.2009 / 12:58

Tags