GRAZIE ANCORA MAGO DEL PYTHON![]()
GRAZIE ANCORA MAGO DEL PYTHON![]()
E purtroppo mi lascia il fo.txt creato bianco
Il debug segnala questo errore:
Traceback (most recent call last):
File "generasimilaridafile.py", line 11, in ?
fo.seek(fo.tell() -1)
IOError: [Errno 22] Invalid argument
in generasimilaridafile.py ho riportato il seguente tuo codice:
fi = open('fi.txt','r')
fo = open('fo.txt','w')
for line in fi.readlines():
x = line[:-1].split(',')
for num in x:
try:
num = int(num) + (random.randint(-5,5))
fo.write(str(num)+',')
except:
pass
fo.seek(fo.tell() -1)
fo.write('\n')
e in fi.txt ho ad esempio questo contenuto:
6,27,28,13,39
70,23,44,7,5
86,37,75,9,41
64,1,3,75,57
72,47,61,52,53
8,90,73,2,60
42,72,38,56,33
7,13,87,55,53
27,74,66,78,68
50,26,62,59,2
Mi potresti dire dove ho fagianato?![]()
GRAZIE 1000
![]()
A me funzia.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
Quello che genera un file con valori similari + 1
ma il secondo (quello random) continua a darmi errore![]()
Where i 'm fagianing?![]()
THANK YOU!
![]()
import random # importa un modulino utilissimo
fi = open('fi.txt','r') # apre il file da analizzare
fo = open('fo.txt','w') # apre il file nuovo
for line in fi.readlines(): # legge il file da analizzare riga per riga
x = line[:-1].split(',') # scompone la riga in base al fattore di separazione (,)
for num in x: # per ogni elemento tra (,) trovato effettua l'operazione sotto indicata..
try:
num = int(num) + (random.randint(-5,5)) #genera un numero tra il seguente range vecchionum-5 e vecchionum+5
fo.write(str(num)+',') # scrive una riga similare a quella originante avente ogni elemento soddisfacente la richiesta sopra
except:
pass # nel caso nn riuscisse l'operazione passa avanti..
fo.seek(fo.tell() -1) # cosa fa esattamente questa riga non lo saccio :-)
fo.write('\n') # credo mandi il cursore.. a capo per ogni riga scritta...
Mi spiegheresti cosa fa la riga in grassetto? GRAZIE
![]()
Mi pare molto strano che non funzioni. L'ho riprovato nuovamente poco fa e non mi da alcun problema.
Ma tu rispetti l'indentazione vero?
Nel tuo file .py li inserisci gli spazi come li hio messi io?
fo.tell() ritorna la posizione del "cursore" all'interno del file.fo.seek(fo.tell() -1) # cosa fa esattamente questa riga non lo saccio :-)
Tale "cursore" parte da 0 appena apri il file, via via che lo leggi (tramite il ciclo for) il cursore avanza di tot posizioni (es: dopo che leggi la parola "ciao" fo.tell() ritornerà 4)
con fo.seek() decidi DOVE posizionare tale cursore.
Inserendo fo.seek(fo.tell() -1) mi posiziono in fondo alla riga e con fo.write('\n') aggiungo un 'a capo'.
E' piu semplice da capire che da spiegare. Non so se sono stato molto chiaro...
Occhio all'indentazione e se continua a non andare prova a pastare il file di input.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
Scusa la mia fagianaggine applicata!![]()
Probabilmente non avevo messo bene import!
GRAZIE ANCORA MAGO DEL PYTHON
Anche i link per studiarlo a dovere sono fantastici!
![]()
1) E' possibile secondo te passare al programmino python dei parametri da un interfaccia flash? Se si come?
Oppure trasformare il programmino python in codice equivalente action script... O ancora incorporare python nell'action flash...
2) Se volessi ripetere questa operazione
fo.write(str(num)+',') # scrive una riga similare a quella originante #avente ogni elemento soddisfacente la richiesta sopra
per n volte come dovrei fare?
GRAZIE INFINITE MAGO!![]()
![]()
1a) Non so. Di flash non so nulla.
1b) Non credo esista un convertitore di codice Python --> AS ma, come detto, nun saccio niente.
2) Non ho capito.
Rilasciata Python FTP Server library 0.5.1
http://code.google.com/p/pyftpdlib/
We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.
L'ultimo script che mi hai postato crea una riga similare con valori random nel range stabilito (num-5;num+5) ma se volessi ripetere l'operazione per ciaascuna riga enne volte?
Spero di essere stato piu' chiaro..
Un es.. "visivo"
dal file fi.txt analizzo la riga:
1,2,3,4,5
Nel file fo.txt vorrei non una sola similare... ma 5 ad esempio!
2,4,5,6,7
1,3,7,5,9
2,5,6,7,8
1,2,6,7,9
1,5,7,8,9
Ovviamente anche qui tutti i valori generati hanno rispettato il range desiderato (num-5;num+5)
GRAZIE![]()