【发布时间】:2016-10-30 23:52:28
【问题描述】:
我有以下文件:
import sys
lines = []
with open(sys.argv[1]) as f: #this works fine
for line in f:
lines.append(line.replace('\\', '/')
with open(sys.argv[1], 'w') as f: #this gives a syntax error
for line in lines:
f.write(line)
每当我尝试运行它时,都会在第二个 with 语句的 with 部分收到语法错误:
File "ChangeSlashes.py", line 7
with open(sys.argv[1], 'w') as f:
^
SyntaxError: invalid syntax
为什么会出现这种情况,为什么只有当我在open() 中指定模式时才会出现这种情况?
【问题讨论】:
-
lines.append(line.replace('\\', '/')没有关闭前一行的括号。 -
@PaulRooney 当然。在这里我认为这是一些模糊的版本差异之类的东西。
-
很遗憾它不能指出问题所在。我一直都遇到这个问题,尤其是使用吞下括号的 IDE。不过,你只是在一段时间后学会寻找它。
标签: python python-2.7 with-statement