Seite 1 von 1

Escape-Zeichen in Dateipfaden

Veröffentlicht: 14. Februar 2019 - 01:27 Uhr
von psanchez
Wapt Enterprise 1.6.2.7 in einer Win 7 VM auf einem Windows 2008/R2
PyScripter 3.4.2.7 in einer Win 7 VM auf einem Windows 10

Hallo,

ich beginne mit der Entwicklung von Installationspaketen aus EXE-Dateien und habe ein Problem mit Dateipfaden.
Hier einige Beispiele mit Pronote 2018 (mit Dank an stephane2b und olaplanche):


`run(r'Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1%s\setup2018.iss' % basedir)`
oder `
run(r'Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1C:\waptdev\lmr-pronote-wapt\setup2018.iss')`
oder `
install_exe_if_needed("Install_PRNclient_FR_2018.0.2.5_win64.exe",silentflags=' -s -f1%s\setup2018.iss' % basedir)`
oder
`flagpronote='-s -f1%s\setup2018.iss' % basedir`
install_exe_if_needed("Install_PRNclient_FR_2018.0.2.5_win64.exe",silentflags=flagpronote)
usw., usw., ...

alle diese Beispiele führen bei der Ausführung in PyScripter zu folgendem Fehler:

FATAL ERROR: CalledProcessErrorOutput: Command 'Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1C:\\waptdev\\lmr-pronote-wapt\\setup2018.iss' returned non-zero exit status -2147213312.

Ich verstehe das nicht; die Syntax entspricht der in der Dokumentation, im Pronote-Thread, im Quellcode verschiedener Pakete aus dem Tranquil IT-Repository usw. beschriebenen Syntax.

Hilfe!

Danke

Betreff: Escape-Zeichen in Dateipfaden

Veröffentlicht: 14. Februar 2019 - 12:21 Uhr
von Sfonteneau
Sie dürfen nicht auf Dateien im Verzeichnis waptdev verweisen (Sie müssen den relativen Pfad angeben).

Enthält Ihre Zeichenkette einen Backslash, müssen Sie ein 'r' am Anfang der Zeichenkette hinzufügen.

http://sametmax.com/comment-marchent-le ... en-python/

Betreff: Escape-Zeichen in Dateipfaden

Veröffentlicht: 15. Februar 2019 - 03:38 Uhr
von psanchez
In den Beispielen 1, 3 und 4 verwende ich `basedir` mit einem relativen Pfad.
In Beispiel 2 habe ich den Pfad zur PyScripter-Entwicklungsumgebung manuell festgelegt, um mögliche Unterschiede beim Testen festzustellen.
Ich habe alle Beispiele mit und ohne `r` am Anfang ausprobiert, aber keines funktioniert. Sowohl

`run('Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1%s\setup2018.iss' % basedir)`
als auch `run(r'Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1%s\setup2018.iss' % basedir)`

erzeugen beim Installationstest in der PyScripter-Umgebung den Fehler `-f1C:\\waptdev\\lmr-pronote-wapt\\setup2018.iss'`.

Vielen Dank.