Così ho copiato e incollato un programma dimostrativo dal libro che sto usando per imparare Python:CSV Modulo AttributeError
#!/usr/bin/env python
import csv
total = 0
priciest = ('',0,0,0)
r = csv.reader(open('purchases.csv'))
for row in r:
cost = float(row[1]) * float(row[2])
total += cost
if cost == priciest[3]:
priciest = row + [cost]
print("You spent", total)
print("Your priciest purchase was", priciest[1], priciest[0], "at a total cost of", priciest[3])
E ottengo l'errore:
Traceback (most recent call last):
File "purchases.py", line 2, in <module>
import csv
File "/Users/Solomon/Desktop/Python/csv.py", line 5, in <module>
r = csv.read(open('purchases.csv'))
AttributeError: 'module' object has no attribute 'read'
Perché succede questo? Come lo aggiusto? Aggiornamento: corretti tutti gli errori Ora sto ricevendo:
Traceback (most recent call last):
File "purchases.py", line 6, in <module>
for row in r:
_csv.Error: line contains NULL byte
Che cosa stava succedendo in termini di CSV.py: ho avuto un file con lo stesso nome in codice csv.py , salvato nella stessa directory. Ho pensato che il fatto che è stato chiamato csv .py è stato avvitamento in su, così ho iniziato un nuovo file chiamato purchases.py, ma ho dimenticato di eliminare csv
Assicurarsi inoltre di eliminare (se presente) qualsiasi file 'csv.pyc' che potrebbe essere stato creato durante l'importazione – bernie
Ho fatto :) Grazie. – Billjk
Aveva lo stesso errore, per lo stesso motivo –