sicuramente non ti da problemi xkè non hai il resto del programma. eccolo:
RuPyc.py
codice:
#!/usr/bin/python
# -*- coding: cp1252 -*-
############################
# #
# Author: Nicola Mustone #
# Version: 1.0 #
# 2009 #
# #
############################
############################
# #
# All right reserved #
# #
############################
from getpass import getpass
from sys import exit
from cl_ppl import *
print
print
print
print 'Benvenuto visitatore,'
print 'per utilizzare la rubrica RuPyc 1.0 inserire nome utente e passoword.'
print
user=raw_input('Username: ')
passw=getpass()
print
#richiede username e password finchè non coincidono con quelli scelti.
log=open('docs/system.dat', 'r')
while 1:
if user.lower()=='ciao' and passw=='ciao':
print 'Benvenuto SiR DanieL,'
break
else:
user=raw_input('Username: ')
passw=getpass()
continue
log.close()
print
while 1:
print 'Cosa vuoi fare?'
print '1- Inserire una nuova persona nella rubrica.'
print '2- Leggere la rubrica.'
print '3- Uscire dal programma.\n'
check=input('Inserisci il numero scelto: ')
cl_ppl=Ppl()
#carica la funzione di inserimento
if check==1:
print
cl_ppl.ins()
while 1: #chiede se vuoi continuare ad inserire
r_ins=raw_input('Vuoi inserire ancora una persona nella rubrica(s/n): ')
if r_ins=='s':
cl_ppl.ins()
continue
else:
break
continue
#carica la funzione di lettura
elif check==2:
print
cl_ppl.read()
continue
#chiude il programma
else: #verifica se sei sicuro di voler uscire
YesOrNo=raw_input('Sei sicuro di voler uscire(s/n): ')
if YesOrNo=='s':
exit()
print
cl_ppl.py
codice:
#!/usr/bin/python
# -*- coding: cp1252 -*-
class Ppl():
#from cl_fn import *
name=''
cell=''
street=''
email=''
#salva i dati di una persona in un file
def ins (self):
print 'Inserisci i dati richiesti.'
print 'I dati contrassegnati da * sono obbligatori\n'
self.name=raw_input('Nome e/o cognome *: ')
self.cell=raw_input('Telefono *: ')
self.email=raw_input('Indirizzo e-mail: ')
self.street=raw_input('Indirizzo: ')
print
decision=raw_input('Premi c per confermare oppure x per annullare: ')
print
if decision=='x':
del self.name, self.cell, self.street, self.email
else:
#Se non inserisco nome e telefono continua a chiedermeli
while 1:
if self.name=='' or self.cell=='':
print
print 'Inserire nome e numero di telefono.'
self.name=raw_input('Nome: ')
self.cell=raw_input('Telefono: ')
#da implementare: controllo sul numero delle cifre del cellulare == 10!
print
else:
break
if self.email=='' and self.street=='':
self.email='e-mail non inserita'
self.street='Indirizzo non inserito'
elif self.email=='' and self.street!='':
self.email='e-mail non inserita'
elif self.email!='' and self.street=='':
self.street='Indirizzo non inserito'
else:
pass
wr_ppl=open('docs/ppl/ppl.dat', 'a')
#scrive tutti i dati della persona
wr_ppl.write(self.name +' - '+self.cell+' - '+self.email+' - '+self.street+'\n')
wr_ppl.close()
print 'Dati salvati con successo.'
print
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()
#legge i dati contenuti nel file
def read (self):
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')
print (wr_ppl.read())
wr_ppl.close()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()
Ora se provi a far partire RuPyc.py ti dovrebbe dare errore.