python sintaxError:无效的sintax,否则:

时间:2016-04-02 12:46:50

标签: python if-statement syntax

我收到了无效的语法错误:

    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文件中的元素

由于

1 个答案:

答案 0 :(得分:2)

csvfile.close()缩进为与其上方的if保持一致,因此如果 - 那么当您不在else:时,您会有if。您还需要在with

之后修复该行的缩进