Salve, ho queste 3 funzioni:
codice:
def nm_line ():
file_ppl=open('docs/ppl/ppl.dat', 'r')
num=0
while file_ppl.readline() != '\n':
file_ppl.readline()
num=num+1
file_ppl.close()
return num
def sort_f ():
sort_ppl=open('docs/ppl/ppl.dat', 'r')
k = nm_line()
while k>=2:
j=2
while j<=nm_line():
if sort_ppl.readline()>sort_ppl.readline(j):
appo=sort_ppl.readline(j)
appo_2=sort_ppl.readline()
appo_2=sort_ppl.readline(j)
appo=sort_ppl.readline()
j=j+1
k=k-1
sort_ppl.close()
#legge i dati contenuti nel file
def read ():
wr_ppl=open('docs/ppl/ppl.dat', 'r')
if wr_ppl.read()=='' or wr_ppl.read()=='\n':
print 'La rubrica e\' vuota.\n'
else:
wr_ppl.close() #bisogna chiudere il file per poter portare il puntatore all'inizio
sort_f()
wr_ppl=open('docs/ppl/ppl.dat', 'r')
print (wr_ppl.read())
wr_ppl.close()
Quando avvio il programma mi da questo errore:
Traceback (most recent call last):
File "D:\Documents and Settings\SiR DanieL\Desktop\Gestionale\RuPyc.py", line 84, in <module>
cl_ppl.read()
File "D:\Documents and Settings\SiR DanieL\Desktop\Gestionale\cl_ppl.py", line 85, in read
sort_f()
NameError: global name 'sort_f' is not defined
Dove sbaglio?
Ho provato anche ad ordinare il file con sort() in questo modo:
codice:
#legge i dati contenuti nel file
def read ():
wr_ppl=open('docs/ppl/ppl.dat', 'r')
if wr_ppl.read()=='' or wr_ppl.read()=='\n':
print 'La rubrica e\' vuota.\n'
else:
wr_ppl.close() #bisogna chiudere il file per poter portare il puntatore all'inizio
wr_ppl=open('docs/ppl/ppl.dat', 'r')
lista=wr_ppl.readlines()
lista.sort()
print (lista)
wr_ppl.close()
ma non funziona