我执行这个python脚本时遇到语法错误,但是当我调用解释器时却没有

时间:2013-04-30 16:32:41

标签: python

在一个名为test.py的文件中我有以下代码

#!/usr/bin/python3

with open('test.txt','w') as File:
    print(1,file=File)

当我这样做时

$ python3 test.py

运行正常。但是当我做的时候

$ chmod +x test.py
$ ./test.py

我得到一个SyntaxError:

  File "./test.py", line 4
    print(1,file=File)
                ^
SyntaxError: invalid syntax

任何人都知道为什么?谢谢

我在Ubuntu 13.04中运行Python 3.3.1

1 个答案:

答案 0 :(得分:2)

看起来你出于某种原因正在使用Python 2解释器。也许尝试使用env搜索正确的python3

#!/usr/bin/env python3

with open('test.txt','w') as File:
    print(1,file=File)

env应该找到与您的shell相同的python3

值得一提的是,即使您没有遇到问题,这也是一个好主意,因为它可以让您的脚本在python3可用的任何平台上运行,无论它在哪里,都可以让您的脚本更具可移植性。