ho una molto semplice script python che dovrebbe eseguire la scansione di un file di testo, che contiene le linee formattati come id = 'valore' e metterle in un dict. il modulo python si chiama chval.py e il file di input è in.txt. ecco il codice:È richiesto un numero intero? open()
import os,sys
from os import *
from sys import *
vals = {}
f = open(sys.argv[1], 'r')
for line in val_f:
t = line.split('=')
t[1].strip('\'')
vals.append(t[0], t[1])
print vals
f.close()
quando provo a farlo funzionare io ottenere:
Traceback (most recent call last):
File "chval.py", line 9, in ? f = open(sys.argv[1], 'r') TypeError: an integer is required
sto usando Python 2.4 ... perché sono stato sfidato a non utilizzare nulla più recente, è lì qualcosa su open() che non conosco? Perché vuole un intero?
nulla dopo quella riga non è stata testata. in breve: perché mi sta dando l'errore e come lo risolvo?
Lo script contiene un bug. vals è un dizionario, che non ha un metodo di aggiunta. Vuoi semplicemente assegnare con vals [t [0]] = t [1] – Christopher
anche, dovrebbe essere "per la riga in f:" in contrapposizione a val_f – Sev
sì, sì, avevo passato e cambiato la mia variabile a metà ... Grazie per la segnalazione. – Victor