2016-06-09 4 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». Я бы предположил, что в реальной жизни токен 'contents' заставил синтаксический анализатор выйти из строя, потому что выражение' 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

Смежные вопросы