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

Do you need help?

Notice Board

Per partecipare al corso di Fondamenti di programmazione 2023-24 loggatevi e attivatelo nella vostra pagina dei corsi preferiti. A quel punto il corso appare nel menù personale cliccando sul proprio avatar. Per i materiali degli anni precedenti seguite lo stesso metodo.

To join the Programming/Lab 2023-24 course, log-on and select it on the my courses page. It will appear on the personal menu of your avatar. For earlier years use the same method.

Errore test Homework 6

F
FraDema (720 points)
4 8 10
in HW6 by (720 points)
closed by
Se al mio programma gli do in input manualmente i dati, funziona bene, mentre se provo ad avviare i test da anaconda prompt mi da questo errore su tutti i test:

testlib.ForbiddenError: Opening file 'test_mat-16-25.png' with mode='rb' is forbidden!

Nel programma l'unico file che apro è file_dati, ovvero il file testo per prenderne i valori che mi servono a disegnare i palazzi e lo apro in questo modo: with open(file) as f.

Quale può essere il problema? e come risolvo?
461 views
closed with the note: Risolto, grazie a tutti

3 Answers

g
giac (2790 points)
10 14 27
by (2.8k points)
all'apertura per caso specifichi il modo di apertura? basta non specificarlo, e lo apre automaticamente e senza problemi in modalità lettura
F
FraDema (720 points)
4 8 10
by (720 points)
Ho appena provato ma mi da lo stesso e identico errore
g
giac (2790 points)
10 14 27
by (2.8k points)
scusa, rileggendo meglio la tua domanda il problema nn è nell'apertura del file da cui prendi le info, ma dall'apertura del file dove salvi la mappa disegnata (Opening file 'file_png' with mode='wb' is forbidden). poiché quella parte è fatta dal modulo importato image.save, non dovresti aver problemi, il file_png non sei tu a crearlo "esplicitamente".

confermi che praticamente l'unica volta che nel tuo codice usi "file_png" è solo per passarlo a image.save?
F
FraDema (720 points)
4 8 10
by (720 points)
Esatto, lo uso solo per salvarlo, forse sbaglio il modo in cui lo salvo? io faccio images.save(file_png,"file_png.png")
g
giac (2790 points)
10 14 27
by (2.8k points)

ecco forse

mettiamo che la tua matrice (lista di lista di tuple) è contenuta nella variabile "immagine", devi salvare cosi

images.save(immagine, file_png)

file_png è il riferimento al parametro che la funzione riceve, non devi specificare il .png finale perché il parametro conterrà tutto il nome del file dove salverà, compreso l'estensione (esempio: 'test_hw.png')

F
FraDema (720 points)
4 8 10
by (720 points)
Ho capito grazie.

Ho modificato il programma ma adesso mi da un' altro errore.. : testlib.ForbiddenError: Opening file 'test_mat-16-25.png' with mode='rb' is forbidden!
g
giac (2790 points)
10 14 27
by (2.8k points)
come apri il file da cui prendi le info? qualcosa del tipo

with open(nome_file) as nfile:  ?

controlla anche qui che nome_file sia semplicemente il riferimento al parametro passato dalla funzione, e non qualcosa tipo nome_file.txt o cose del genere
F
FraDema (720 points)
4 8 10
by (720 points)
Passo il file_dati ad una funzione def pulisci_file(file), passando il file in questo modo: pulisci_file(file_dati) e all'interno di questa funzione faccio with open(file) as f:
g
giac (2790 points)
10 14 27
by (2.8k points)
ok il problema definitivamente non riguarda l'apertura del file txt, ma qualcosa nella creazione durante il salvataggio dell'immagine (Opening file 'test_mat-16-25.png' with mode='rb' is forbidden!).

mi dispiace, le mie poche conoscenze e competenze non mi fanno andare oltre ;(

se ricevo un'illuminazione ti faccio sapere, altrimenti buona fortuna :D
F
FraDema (720 points)
4 8 10
by (720 points)
Ho capito, non ti preoccupare, grazie per la tua pazienza. Aspetto con ansia una tua illuminazione hahaha
andrea.sterbini (207920 points)
750 1267 2373
by (208k points)
Se consegni posso dare un'occhiata
F
FraDema (720 points)
4 8 10
by (720 points)
va bene ora consegno
F
FraDema (720 points)
4 8 10
by (720 points)
Mi scusi ma ho dei problemi con la consegna, il file algorithm le lo consegna senza nessun problema, mentre il source code mi dice: UTF-8 encoding mismatch, cosa dovrei fare?
simonemignanelli (2130 points)
1 2 22
by (2.1k points)

Avevo lo stesso identico problema e mi ero scordato di inserire nel images.save() il parametro dell'uscita del file ovvero: images.save(matrice,file_png), mi raccomando scrivi essatamente file_png che è il nome del parametro. Nonostante @giac lo ha espresso chiaramente come fare io ti consiglio di guardare più che altro questa funzione perchè il problema probabilmente deriva da questa funzione e dalla successiva lettura che fa il programma quando esegue i test. Nei commenti poi ho visto che hai problemi di enconding, se non lo hai già fatto all'inizio del file scrivi:
# -*- coding: utf-8 -*-

F
FraDema (720 points)
4 8 10
by (720 points)
Grazie del consiglio, adesso i test non mi danno nessun errore, ma rimane ancora il problema della consegna del "Source Code"