Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

problema simulazione esami

A
AglaiaNorza (320 points)
0 2 4
in Eserciziario d'esame by (320 points)
closed by
Salve.

Sto svolgendo alcuni degli esami degli anni passati (come per esempio l'esame 16-3-23, pubblicato sul Twiki del professor Sterbini) e ho notato che la modalità di lettura dei file all'interno di testlib.py è "rU".

Nei test in cui serve scrivere un nuovo file, nonostante il codice funzioni e l'output sia visivamente uguale a quello expected, grade.py mi dice che i due file sono diversi. Se invece rimuovo la "U" dal file testlib (lasciando quindi come mode solamente "r"), passo tutti i test.

Volevo chiedere a cosa serva "U" e cosa posso fare per passare i test anche con quella mode.

(credo sia qualcosa di legato alle newlines - io uso \n per andare a capo, dovrei sostituirlo con qualcos'altro? - neanche print sul file funziona)
248 views
closed

2 Answers

Best answer
f
fxbia (660 points)
1 2 4
by (660 points)
selected by

il problema è causato dalla versione di Python. I test vengono eseguiti su una macchina con Python 3.9 mentre immagino sul tuo pc ci sia installato Python 3.11 in cui la mode 'U' è stata ormai rimossa.

Io ho sistemato creando un nuovo venv di conda con una versione più vecchia di Python attraverso:

conda create --name nome_env

conda activate nome_env

conda install python=3.9.6

e reinstallando quindi tutte le librerie necessarie nel nuovo venv da qui.

P.S. ogni volta che il computer verrà riavviato ritornerà in (base) quindi per tornare al venv sopra creato bisognerà eseguire conda activate nome_env

A
Axel (660 points)
7 14 18
by (660 points)
per quanto ne so dovrebbe essere un problema legato alla versione di python nelle nuove versione rU non é usato