Python带有"with"语句的语法无效

lan*_*rat 15 python syntax syntax-error

我正在为linux(maemo)编写一个简单的python应用程序.但是我SyntaxError: invalid syntax上线23:with open(file,'w') as fileh:

代码可以在这里看到:http://pastebin.com/MPxfrsAp

我无法弄清楚我的代码有什么问题,我是python和"with"语句的新手.那么,导致此代码出错的原因是什么,我该如何解决?"with"声明有问题吗?

谢谢!

Dan*_*ach 23

最有可能的是,您使用的是不支持该with语句的早期版本的Python .以下是如何在不使用的情况下执行相同的操作with:

fileh = open(file, 'w')
try:
    # Do things with fileh here
finally:
    fileh.close()
Run Code Online (Sandbox Code Playgroud)

  • 请注意,`with`是在2.5中引入的,需要`from __future__ import with_statement`,默认情况下为2.6.在2.4和之前,需要`try` /`finally`来确保文件被关闭. (7认同)
  • @mrlanrat,Python默认会创建不存在的文件.问题是目录.`〜./ appCounter`不是有效目录.Python不像shell一样自动扩展`~`而且你有一个错误的`.`.您可能希望使用路径`os.path.join(os.path.expanduser("〜"),"appCounter")`或类似的东西. (3认同)
  • @mrlanrat,`open(filename,'w')`这样做.您是否阅读过我所说的关于Python的内容而不是自动调用shell来扩展〜? (2认同)