Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Skripte mit Administratorrechten unter Windows ausführen?
Gewähren von Administratorrechten für Python-Skripte unter Windows
Für bestimmte Anwendungen ist das Ausführen von Aufgaben erforderlich, die Administratorrechte erfordern. In diesem Zusammenhang tritt häufig ein Problem auf, wenn versucht wird, Python-Skripte mit erhöhten Rechten auszuführen. Bei der Suche nach Lösungen führt eine häufig verlinkte Referenz Benutzer zu einer Stack Overflow-Frage, die sich mit der UAC-Erhöhung innerhalb von Python-Skripten befasst.
Obwohl sie dem in der verlinkten Frage bereitgestellten Codeausschnitt folgen, stoßen viele Benutzer auf Probleme bei der Ausführung. Dieser Artikel zielt darauf ab, diese Schwierigkeiten zu beheben und eine umfassende Lösung zum Ausführen von Skripts mit erhöhten Rechten unter Windows bereitzustellen.
Aktualisierte Lösung (Februar 2023)
Die ursprüngliche Antwort unten hat hat erhebliche Fortschritte gemacht und ist jetzt als Python-Modul mit dem Namen „pyuac“ zugänglich. Es kann über PyPi installiert werden:
pip install pyuac pip install pypiwin32
Pyuac-Nutzungsbeispiele:
Direkte Nutzung:
import pyuac def main(): print("Do stuff here that requires being run as an admin.") # The window will disappear as soon as the program exits! input("Press enter to close the window. >") if __name__ == "__main__": if not pyuac.isUserAdmin(): print("Re-launching as admin!") pyuac.runAsAdmin() else: main() # Already an admin here.
Dekorator-Nutzung:
from pyuac import main_requires_admin @main_requires_admin def main(): print("Do stuff here that requires being run as an admin.") # The window will disappear as soon as the program exits! input("Press enter to close the window. >") if __name__ == "__main__": main()
Originalantwort (2010)
In 2010 erstellte Preston Landers ein Modul, das die Benutzerkontensteuerung unter Windows vereinfachte. Damit können Sie leicht feststellen, ob der aktuelle Benutzer ein Administrator ist, und bei Bedarf eine UAC-Erhöhung anfordern. Sein Anwendungsbeispiel:
import admin if not admin.isUserAdmin(): admin.runAsAdmin()
Modulimplementierung:
# See module code provided in the answer text
Das obige ist der detaillierte Inhalt vonWie kann ich Python-Skripte mit Administratorrechten unter Windows ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!