Pagina 1 di 1

Carattere di escape nei percorsi dei file

Pubblicato: 14 febbraio 2019 - 01:27
di psanchez
Wapt Enterprise 1.6.2.7 in una macchina virtuale Win 7 su un sistema Windows 2008/R2
PyScripter 3.4.2.7 in una macchina virtuale Win 7 su un sistema Windows 10

Salve,

sto iniziando a sviluppare pacchetti di installazione da file .exe e ho un problema con i percorsi dei file.
Ecco alcuni esempi che utilizzano Pronote 2018 (grazie a stephane2b e olaplanche):


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

tutti questi esempi generano il seguente errore quando eseguiti in PyScripter:

ERRORE FATALE: CalledProcessErrorOutput: Il comando 'Install_PRNclient_FR_2018.0.2.5_win64.exe -s -f1C:\\waptdev\\lmr-pronote-wapt\\setup2018.iss' ha restituito uno stato di uscita diverso da zero -2147213312.

Non capisco; la sintassi corrisponde a quella presente nella documentazione, nel thread di Pronote, nel codice sorgente di vari pacchetti scaricati dal repository di Tranquil IT, ecc.

Aiuto!

Grazie

Re: Carattere di escape nei percorsi dei file

Pubblicato: 14 febbraio 2019 - 12:21
di sfontenau
Non devi fare riferimento a file situati in waptdev (devi specificare il percorso relativo).

Se nella stringa che stai scrivendo è presente una barra rovesciata, devi aggiungere una 'r' all'inizio della stringa.

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

Re: Carattere di escape nei percorsi dei file

Pubblicato: 15 febbraio 2019 - 03:38
di psanchez
Negli esempi 1, 3 e 4, utilizzo `basedir` con un percorso relativo.
Nell'esempio 2, ho "craccato" e codificato manualmente il percorso all'ambiente di sviluppo PyScripter per notare eventuali differenze durante i test.
Ho provato tutti gli esempi forniti con e senza la `r` all'inizio, ma nessuno funziona.

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

generano entrambi l'errore `-f1C:\\waptdev\\lmr-pronote-wapt\\setup2018.iss'` durante il test di installazione nell'ambiente PyScripter.

Grazie.