2016-06-09 135 views
1

我有此代碼段這是應該寫入文件:如果語句的語法錯誤

with open('key.txt', 'w+') as key: 
     counter += 1 
     key.write(k + str(counter) 
     contents = key.read() 
     if contents == 'ran 1': 
      print('Can\'t run twice!') 
     else: 
      writeFiles() 

我的Python編譯器不斷抱怨,拋出此錯誤:

File "/home/ubuntu/workspace/fun.py", line 30                                               
    if key.read() == 'ran: 1':                                                   
          ^                                                  
SyntaxError: invalid syntax  

我真的不明白這意味着什麼,我通常不會得到這樣的錯誤。幫助將不勝感激。

+1

您的錯誤與您發佈的代碼不符...... –

+0

正如@RNar暗示:請再次檢查您報告的錯誤,因爲這將是一種完全不同的Python語言,您的「Python copliler」符合。我猜想,在現實生活中,令牌「內容」使解析器保留出來,因爲表達式「k + str(counter)contents」是無效的python。理由:如果有人來這裏尋求解決方案,當他們發現與接受的工作解決方案一致的問題時,他們會得到更好的服務。謝謝。 – Dilettant

回答

9

缺少一個右括號:

key.write(k + str(counter) 
         ^here 

應該

key.write(k + str(counter)) 

每當你看到這幾樣神祕語法錯誤,看起來比上線

+0

我特別喜歡這個提示(如果OP再次檢查報告的錯誤... ;-) – Dilettant

4

您有失蹤括號在你的key.write

with open('key.txt', 'w+') as key: 
    counter += 1 
    key.write(k + str(counter)) 
    contents = key.read() 
    if contents == 'ran 1': 
     print('Can\'t run twice!') 
    else: 
     writeFiles() 
+2

這與我的回答非常相似 – EdChum

+1

是的。我打字速度很慢。沒有注意到你的答案 – SvbZ3r0