TypeError nello script Conv_to_utf8

Forum dedicato ai gruppi di studio di debianizzati.org

TypeError nello script Conv_to_utf8

Messaggioda brunology » 11/07/2011, 15:09

Oggi ho provato a eseguire lo script Conv_to_utf8
su un file con codifica ISO-8859.

Ottengo questo errore:
Codice: Seleziona tutto
$ ./conv_to_utf8.py iso8859.txt
Traceback (most recent call last):
  File "./conv_to_utf8.py", line 19, in <module>
    main()
  File "./conv_to_utf8.py", line 13, in main
    all_to_utf8('testo', 'latin_1')
  File "./conv_to_utf8.py", line 5, in all_to_utf8
    text = open(inputfile, 'r', inputenc)
TypeError: an integer is required


Ho questa versione: Python 3.1.3.
Qualcuno sa il perché dell'errore?
Avatar utente
brunology
Full Member
Full Member
 
Messaggi: 173
Iscritto il: 28/10/2007, 12:20

Re: TypeError nello script Conv_to_utf8

Messaggioda Stemby » 11/07/2011, 15:33

brunology ha scritto:
Codice: Seleziona tutto
$ ./conv_to_utf8.py iso8859.txt


Da quel che vedo (ri)leggendo lo script, non è pensato per essere usato in questo modo.

Devi:
1) rinominare 'iso8859.txt' come 'testo', senza estensioni
2) lanciare lo script semplicemente con
Codice: Seleziona tutto
$ ./conv_to_utf8.py



Prova così.

Effettivamente è ampiamente migliorabile: la sintassi da te usata sarebbe ben più logica (bisognerebbe però aggiungere anche un ulteriore parametro per indicare la codifica dell'input).

Sentiti libero di fare tutte le modifiche che ritieni opportune :)

Ciao!
Stemby
wiki member
wiki member
 
Messaggi: 1427
Iscritto il: 11/04/2009, 15:47
Località: Missaglia (LC)

Re: TypeError nello script Conv_to_utf8

Messaggioda brunology » 11/07/2011, 16:19

ho fatto come dici, ma mi dà lo stesso errore

ora provo a migliorarlo
in realtà ho riguardato questo script proprio perché mi piacerebbe andare oltre open() o input(),
nel senso di poter eseguire uno script su più file

in conv_to_utf8 mi interessava capire questa riga:

Codice: Seleziona tutto
def all_to_utf8(inputfile, inputenc):


cos'è inputfile? non mi è riuscito trovare niente a riguardo

ora mi sto leggendo questo capitolo:
http://docs.python.org/release/3.1.3/li ... lesys.html
Avatar utente
brunology
Full Member
Full Member
 
Messaggi: 173
Iscritto il: 28/10/2007, 12:20

Re: TypeError nello script Conv_to_utf8

Messaggioda Stemby » 11/07/2011, 17:45

brunology ha scritto:in conv_to_utf8 mi interessava capire questa riga:

Codice: Seleziona tutto
def all_to_utf8(inputfile, inputenc):



Ti è chiara la sintassi di def? inputfile è solo un nome di fantasia assegnato al primo parametro della funzione. Python a quel punto crea una variabile con quel nome, che verrà poi usata 2 righe da open(). Il fatto che venga usata da open() e in che modo, ti dovrebbe far intuire anche di che tipo di oggetto si tratta: una stringa che rappresenta il percorso di un file.

Nello specifico, la funzione main() passerà alla funzione all_to_utf8() la stringa 'testo' come primo parametro. Quindi il tuo file, che devi chiamare 'testo', deve trovarsi nella stessa directory in cui lanci lo script.

Ciao!
Stemby
wiki member
wiki member
 
Messaggi: 1427
Iscritto il: 11/04/2009, 15:47
Località: Missaglia (LC)


Torna a Accademia debianizzata

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite