Powershell als Python-Funktion - wie ausführen?
Hallo Zusammen,
ich bin gerade dabei eine kleine Python-GUI mit TKINTER zusammenzubasteln.
Das Fenster wird unterschiedlich Tabs jeweils für eine Aufgabe haben. Ob diese mit Python selbst oder mit Powershell ausgeführt wird, hängt von der Aufgabe ab:
Z. B
Aktuell teste ich diese Funktion, die Powershell Scripte inkl. Parameter ausführen kann:
(Ich habe die Funktion nicht selbt geschrieben!
Die Script wurde in diesem Thread empfohlen:
https://stackoverflow.com/questions/57188398/running-powershell-script-f ..)
Mein aktuelles Problem ist die folgende Fehlermeldung /zum Zeile 4/
Hat hier der Variable "ps_script_path" den falschen Typ?
Vielen Dank für eure Meinungen.
Gr. I.
ich bin gerade dabei eine kleine Python-GUI mit TKINTER zusammenzubasteln.
Das Fenster wird unterschiedlich Tabs jeweils für eine Aufgabe haben. Ob diese mit Python selbst oder mit Powershell ausgeführt wird, hängt von der Aufgabe ab:
Z. B
- SharePoint User auflisten würde ich mit Powershell machen.
- JIRA REST API zugreifen wäre aber wohl mit Python effizienter.
Aktuell teste ich diese Funktion, die Powershell Scripte inkl. Parameter ausführen kann:
(Ich habe die Funktion nicht selbt geschrieben!
Die Script wurde in diesem Thread empfohlen:
https://stackoverflow.com/questions/57188398/running-powershell-script-f ..)
import subprocess # IMPORT FOR SUB PROCESS . RUN METHOD
POWERSHELL_PATH = "C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe" # POWERSHELL EXE PATH
ps_script_path = "C:\Users\mr3968\PycharmProjects\SystemScriptWithGUI\Powershell_Scripts\browser.ps1" # YOUR POWERSHELL FILE PATH
class Utility: # SHARED CLASS TO USE IN OUR PROJECT
@staticmethod # STATIC METHOD DEFINITION
def openbrowser(script_path, *params): # SCRIPT PATH = POWERSHELL SCRIPT PATH, PARAM = POWERSHELL SCRIPT PARAMETERS ( IF ANY )
commandline_options = [POWERSHELL_PATH, '-ExecutionPolicy', 'Unrestricted', ps_script_path] # ADD POWERSHELL EXE AND EXECUTION POLICY TO COMMAND VARIABLE
for param in params: # LOOP FOR EACH PARAMETER FROM ARRAY
commandline_options.append("'" + param + "'") # APPEND FOR YOUR POWERSHELL SCRIPT
process_result = subprocess.run(commandline_options, stdout = subprocess.PIPE, stderr = subprocess.PIPE, universal_newlines = True) # CALL PROCESS
print(process_result.returncode) # PRINT RETURN CODE OF PROCESS 0 = SUCCESS, NON-ZERO = FAIL
print(process_result.stdout) # PRINT STANDARD OUTPUT FROM POWERSHELL
print(process_result.stderr) # PRINT STANDARD ERROR FROM POWERSHELL ( IF ANY OTHERWISE ITS NULL|NONE )
if process_result.returncode == 0: # COMPARING RESULT
Message = "Success !"
else:
Message = "Error Occurred !"
return Message # RETURN MESSAGE
Mein aktuelles Problem ist die folgende Fehlermeldung /zum Zeile 4/
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Hat hier der Variable "ps_script_path" den falschen Typ?
Vielen Dank für eure Meinungen.
Gr. I.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1592714862
Url: https://administrator.de/contentid/1592714862
Ausgedruckt am: 21.11.2024 um 19:11 Uhr
2 Kommentare
Neuester Kommentar
Stichwort "Backslashes" und Escaping-Sequenzen innerhalb von normalen Anführungszeichen . Nun sollte es "Klingelingeling" machen .