2016-06-09 110 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