Salve,
ho provato a cercare ma non ho trovato nulla.
Vorrei poter editare un file di testo da Python. Per capirci, a un certo punto dello script vorrei poter scegliere un file di testo da poter modificare a video e salvare. Vorrei anche che il file in questione comparisse come nota nel Body, diciamo di fondo, così uno può verificare se va bene o , appunto modificarlo. Qualcuno ha fatto qualcosa di simile?
(ps. Sarebbe anche utile poter contare i caratteri del file, visto che il file mi serve poi mandarlo come testo di un sms).
Grazie
Pagina 1 di 1
[python] Edit/visualizzare File Di Testo appuifw.Text o altro?
#2
Inviato 29 ottobre 2008 - 12:27
sercio, il 29/10/2008 - 10:03, ha scritto:
Salve,
ho provato a cercare ma non ho trovato nulla.
Vorrei poter editare un file di testo da Python. Per capirci, a un certo punto dello script vorrei poter scegliere un file di testo da poter modificare a video e salvare. Vorrei anche che il file in questione comparisse come nota nel Body, diciamo di fondo, così uno può verificare se va bene o , appunto modificarlo. Qualcuno ha fatto qualcosa di simile?
(ps. Sarebbe anche utile poter contare i caratteri del file, visto che il file mi serve poi mandarlo come testo di un sms).
Grazie
ho provato a cercare ma non ho trovato nulla.
Vorrei poter editare un file di testo da Python. Per capirci, a un certo punto dello script vorrei poter scegliere un file di testo da poter modificare a video e salvare. Vorrei anche che il file in questione comparisse come nota nel Body, diciamo di fondo, così uno può verificare se va bene o , appunto modificarlo. Qualcuno ha fatto qualcosa di simile?
(ps. Sarebbe anche utile poter contare i caratteri del file, visto che il file mi serve poi mandarlo come testo di un sms).
Grazie
Beh sono cose abbastanza facili!
Devi utilizzare la classe appuifw.Text() ed impostarla come appuifw.app.body
Per sapere la lunghezza basta che fai len(testo)
Per recuperare il testo dal form:
testo=istanza_text.get()
Per impostare invece il testo che può essere preso da un file:
istanza_text.set(testo)
Ho scritto proprio un po veloce....spero di averti un po chiarito le idee!
P.S: studiati un poco il python generico ) e i moduli specifici per il PyS60
Messaggio modificato da memoryn70 il 29 ottobre 2008 - 12:28
#3
Inviato 29 ottobre 2008 - 14:17
memoryn70, il 29/10/2008 - 12:27, ha scritto:
Beh sono cose abbastanza facili!
Devi utilizzare la classe appuifw.Text() ed impostarla come appuifw.app.body
Per sapere la lunghezza basta che fai len(testo)
Per recuperare il testo dal form:
testo=istanza_text.get()
Per impostare invece il testo che può essere preso da un file:
istanza_text.set(testo)
Ho scritto proprio un po veloce....spero di averti un po chiarito le idee!
P.S: studiati un poco il python generico ) e i moduli specifici per il PyS60
->appuifw in particolare e li troverai tutto 
Devi utilizzare la classe appuifw.Text() ed impostarla come appuifw.app.body
Per sapere la lunghezza basta che fai len(testo)
Per recuperare il testo dal form:
testo=istanza_text.get()
Per impostare invece il testo che può essere preso da un file:
istanza_text.set(testo)
Ho scritto proprio un po veloce....spero di averti un po chiarito le idee!
P.S: studiati un poco il python generico ) e i moduli specifici per il PyS60
Grazie mille... ha funzionato. Facevo un errore banale....
Comunque hai ragione, vado a leggermi ancora un po' di documentazione.
#4
Inviato 31 ottobre 2008 - 10:58
Sto diventando matto....
Leggo correttamente il file, lo edito, lo salvo, e quando lo riapro vedo solo quadratini. Il problema sembra la codifica (Ascii-Unicode), ma non riesco a venirne a capo in nessun modo. Posto qui sotto il pezzo dello script.....
Qualcuno mi può aiutare?
Leggo correttamente il file, lo edito, lo salvo, e quando lo riapro vedo solo quadratini. Il problema sembra la codifica (Ascii-Unicode), ma non riesco a venirne a capo in nessun modo. Posto qui sotto il pezzo dello script.....
def Save():
testo =mt.get()
testo=testo.encode('utf-8')
linee=testo.splitlines() #Lista cn tt le linee
f = open(item,'w')
for i in linee:
f.writelines(i + unicode('\r\n'))
f.close()
def Exit():
app_lock.signal()
appuifw.app.exit_key_handler=None
def centrale():
mt.add(u'\r\n')
lista1= caricacat()
pippo=sceltacat()
cate=lista1[pippo]
item=percorso+cate+'.txt'
testo=open(item, 'r')
tsms= testo.read()
testo.close()
app_lock=e32.Ao_lock()
mt=appuifw.Text()
mt.style=appuifw.STYLE_BOLD
mt.set(tsms)
appuifw.app.body=mt
appuifw.app.menu=[(u"Salva",Save)]
appuifw.app.exit_key_handler=Exit
appuifw.app.body.bind(key_codes.EKeySelect,centrale)
app_lock.wait()Qualcuno mi può aiutare?
#5
Inviato 31 ottobre 2008 - 14:28
Beh all'apertura dovrai fare text.decode("utf8")...poi non serve writelines ma metti write...writelines serve se hai la lista con le linee...(["Riga 1\n","Riga 2\n"..]
#6
Inviato 10 marzo 2010 - 09:13
memoryn70, il 29/10/2008 - 12:27, ha scritto:
Beh sono cose abbastanza facili!
Devi utilizzare la classe appuifw.Text() ed impostarla come appuifw.app.body
Per sapere la lunghezza basta che fai len(testo)
Per recuperare il testo dal form:
testo=istanza_text.get()
Per impostare invece il testo che può essere preso da un file:
istanza_text.set(testo)
Ho scritto proprio un po veloce....spero di averti un po chiarito le idee!
P.S: studiati un poco il python generico ) e i moduli specifici per il PyS60
->appuifw in particolare e li troverai tutto 
Devi utilizzare la classe appuifw.Text() ed impostarla come appuifw.app.body
Per sapere la lunghezza basta che fai len(testo)
Per recuperare il testo dal form:
testo=istanza_text.get()
Per impostare invece il testo che può essere preso da un file:
istanza_text.set(testo)
Ho scritto proprio un po veloce....spero di averti un po chiarito le idee!
P.S: studiati un poco il python generico ) e i moduli specifici per il PyS60
Un pò tardi ma ci provo.......
Conoscete un modo elegante per editare poche righe di testo, con la particolarità di aver predeterminato una lunghezza massima del testo oltre la quale il cursore non accetta più immissioni?.
appuifw.Text() sarebbe comoda ma sinceramente fatico ad usarla.
L'unico sistema che ho trovato e di generare un loop che a brevi intervalli di tempo legge la lunghezza del testo resa da appuifw.Text() legge la posizione del cursore elimina il contenuto e reimmette la stringa, riposizionando il cursore
Veramente una brutta cosa!
Non ho esperienza di Python in ambienti Windows.....e non trovo 4 righe di esempio.......
Per banale o stupida che sia la mia richiesta ringrazio sin da ora chi volesse darmi una mano.
Condividi questa discussione:
Pagina 1 di 1

Aiuto












Pubblicità