由于版本的Python错误?

时间:2014-09-30 14:02:54

标签: python syntax syntax-error

我正在尝试运行一个基本的随机句子生成器来测试我的web服务器上的python ...它所做的就是打开3个文件并从每个文件中随机选择一行。

在我的笔记本电脑上正常运行但是在Web服务器上运行失败并为代码的一部分生成语法错误(我从另一个堆栈溢出问题得到的部分 - {{3 }})。

错误是:

  File "sentence.py", line 17
    with open(fname) as f:
SyntaxError: invalid syntax

错误的部分是:

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

服务器正在使用Python 2.4.3

有人在这里看到一个直接的问题吗?

1 个答案:

答案 0 :(得分:3)

with statement仅适用于Python 2.5及更高版本:

  

2.5版中的新功能。

改为使用try..finally构造:

def file_len(fname):
    f = open(fname)
    try:
        for i, l in enumerate(f):
            pass
    finally:
        f.close()
    return i + 1