Forum
>>
Principianti
>>
problemi di salvataggio
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da tex_si |
2015-10-14 12:40:00 - problemi di salvataggio
|
Ciao,
ho un nuovo problema, devo salvare un oggetto tipo: x = [[1,2,3,4],[1,2,3,4]] ma devo fare in modo che non compaiano ne le parentesi quadre ne le virgole, più ciascun elemento deve essere separato da uno spazio dal successivo, più devo andare a capo alla fine di ogni lista dentro la lista, cioè dovrebbe venire del tipo: 1 2 3 4 1 2 3 4 Ho provato con: y=open('test.txt', 'w') for i in x: y.write(str(i)\n) ma mi da errore credo perché \n funziona solo all'interno delle virgolette e comunque senza \n mi scrive sia le parentesi quadre che le virgole. Potete aiutarmi? Altra domanda, è normale che, usando IDLE, quello che scrivo compare nel file solo dopo che l'ho chiuso con y.close()? --- Ultima modifica di tex_si in data 2015-10-14 12:42:06 --- |
|
Scritto da Daniele aka Palmux |
2015-10-14 13:50:54 - Re: problemi di salvataggio
|
Ti do degli indizi per risolvere il problema:
- per "eliminare" le parentesi e le virgole usa join - per usare \n come vuoi tu, aggiungilo alla stringa col +"\n" Ora hai tutto, aspetto di vedere la tua soluzione. Cya |
|
Scritto da tex_si |
2015-10-14 15:34:05 - Re: problemi di salvataggio
|
ho usato:
x=[[1,2,3,4],[1,2,3,4]] f=open('ciao.txt','r+') for i in x: f.write(str(i)+'\n') e ho ottenuto: [1, 2, 3, 4] [1, 2, 3, 4] quindi bene. Per join, ho trovato che è un metodo della funzione str() così ho digitato: help(str.join) e ho ottenuto: Help on method_descriptor: join(...) S.join(iterable) -> str Return a string which is the concatenation of the strings in the iterable. The separator between elements is S. così ho provato a digitare: str(',').join(str(x0)) ma ho ottenuto questo: '[,1,,, ,2,,, ,3,,, ,4,]' più altri esperimenti che non sto a postare. Non è che potresti dirmi come si usa per ottenere il risultato che mi serve? Grazie di tutto ovviamente. --- Ultima modifica di tex_si in data 2015-10-14 15:35:08 --- |
|
Scritto da Daniele aka Palmux |
2015-10-14 17:48:23 - Re: problemi di salvataggio
|
Ciao caro, ti metto sulla strada giusta:
",".join((str(n) for n in [1,2,3,4]))Ora hai praticamente tutto, non hai che da risolvere il problema e farci vedere il risultato. Cya |
|
Scritto da tex_si |
2015-10-14 20:14:44 - Re: problemi di salvataggio
|
>>> x=[[1,2,3,4],[1,2,3,4]]
>>> f=open('ciao.txt', 'w') >>> for i in x: f.write(' '.join(str(n) for n in i)+'\n') 8 8 >>> f.close() di nuovo grazie mille. |
Pagina: 1
Esegui il login per scrivere una risposta.