【发布时间】:2016-04-02 12:46:50
【问题描述】:
我收到这个无效的语法错误:
File "./data_3.0.1.py", line 148
else:
^
SyntaxError: invalid syntax
当我尝试运行这个函数时:
def funzione_aggiornamento_prezzi(titolo):
pprint ("titolo " + titolo)
#parametri per scaricare lo storico dei prezzi
params = {'item': titolo,
'frequency': 'TBT',
'dataDa':x_giorni_fa()}
try:
r = requests.get(myurl, params=params)
except:
pprint("Si e' verificato un errore")
else:
pprint(r.status_code)
pprint(r.url)
new_list = crea_lista(r)
#codice per scrivere su di un csv da una lista
nomen = "%s.TBT.csv" % (titolo)
csvfile = open(nomen, 'a')
reportwriter = csv.writer(csvfile, quoting=csv.QUOTE_MINIMAL)
#codice per scrivere su di un csv
# controllo del numero di rows nel file
with open(nomen,"r") as f:
reader = csv.reader(f,delimiter = ",")
data = list(reader)
row_count = len(data)
if row_count == 0:
for i in new_list:
da_appendere = new_list[i+1]
reportwriter.writerow(da_appendere)
csvfile.close()
#here I get the error
else:
with open(nomen, 'rb') as f:
last_timestamp = f.readlines()[-1].split(",")[0]
#codice per aggiungere al csv solo i nuovi dati
found_it = 0
for i in new_list:
if i == last_timestamp:
found_it = 1
if found_it == 1:
da_appendere = new_list[i+1]
reportwriter.writerow(da_appendere)
csvfile.close()
for i in lista_indici:
funzione_aggiornamento_prezzi(i)
我不明白问题出在哪里...也许很容易,但是..我真的看不出来!! 基本上我想要对 python 说,如果您打开的 csv 文件为空,只需附加新列表,否则仅附加新列表中尚未在您刚刚打开的 csv 文件中的元素
谢谢
【问题讨论】:
-
修正
try和except中的缩进 -
更具体地说:删除
try和except中每一行前的多余空格。 -
else之前的行的缩进也是错误的(在其他行中,例如第一行)。缩进在 Python 中很重要,错误的缩进在某些情况下是语法错误(在其他情况下,会导致错误的行为)。 -
@zondo 虽然这些行的缩进不一致,但在技术上并没有错。
标签: python if-statement syntax