12/02/2019, 02:21
12/02/2019, 02:49
venduti = {}
with open("venduti.txt") as file: # Apre il file per la lettura
for line in file.readlines(): # Legge una riga per volta
codice, numero = line.split() # Separa la riga in due stringhe
venduti[codice] = int(numero) # Scrive i valori in un dict
12/02/2019, 04:14
import sys
def esercizio ():
venduti = {}
try:
with open("venduti.txt", 'r') as file: #ho messo 'r' per indicare che voglio aprire il file in lettura,serve o è di default?
for line in file.readlines():
codice, numero = line.split()
venduti[codice] = int(numero)
except IOError:
print ("Il file %s non è stato trovato " % venduti.txt)
sys.exit(-1) #condizione d'uscita che indica un errore
catalogo={}
try:
with open("catalogo.txt", 'r') as file:
for line in file.readlines():
codice, quantità,tipo,prezzo = line.split() #ho scritto una stupidaggine?
except IOError:
print ("Il file %s non è stato trovato " % catalogo.txt)
sys.exit(-1)
12/02/2019, 22:09
15/02/2019, 02:27
import sys
def esercizio ():
if len(sys.argv)!3: #3 perchè sono il nome del programma + i 2 file da leggere (vendite e catalogo)
print ("Errore sintassi: python %s <esercizio>" %sys.argv[0]) #il primo argomento della lista argv, quindi il valore ad indice 0,sarà il nome dello script
exit(-1)
#e poi continuare col resto dell'esercizio, cioè caricando i file ecc...
codice, numero = line.split()
codice, numero = line.strip.split()
15/02/2019, 12:05
15/02/2019, 18:02
apatriarca ha scritto:Se non specifichi il delimitatore nella funzione split, spazi consecutivi o all'inizio/fine della stringa vengono automaticamente eliminati. Non c'è insomma bisogno di usare strip (non dovrebbe avere alcun effetto insomma).
apatriarca ha scritto:Per quanto riguarda la lettura di argomenti da linea di comando, ho sempre utilizzato la libreria argparse in Python. Il tuo metodo non è comunque tecnicamente sbagliato (a parte un errore nello scrivere "!=").
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.