2013-04-30 53 views
0

在一個名爲test.py我有以下代碼我得到的語法錯誤,當我執行此Python腳本,但不是當我調用解釋

#!/usr/bin/python3 

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

當我做

$ python3 test.py 

它運行良好。但是,當我做

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

我得到一個語法錯誤:

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

任何人有任何想法,爲什麼?謝謝

我運行的Python 3.3.1在Ubuntu 13.04

+0

'哪個python3'告訴你路徑是什麼? – 2013-04-30 16:34:20

+3

語法錯誤是由Python 2.x引發的; '/ usr/bin/python3'不是你認爲的那樣。 – 2013-04-30 16:35:03

+0

'哪個python'是'/ usr/bin/python3'這是python 3.3.1(如果我運行'/ usr/bin/python3'我得到了Python 3.3.1的解釋器,更多的是,如果我做'/ usr/bin/python3 test.py'這一切都很好) – 2013-04-30 16:40:51

回答

2

它看起來像你使用一個Python解釋器2出於某種原因。使用env搜索正確python3也許想:

#!/usr/bin/env python3 

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

env應該會發現你的shell做同樣python3

值得一提的是,即使你沒有問題,這也是一個好主意,因爲它讓你的腳本可以在任何可以使用的平臺上運行,無論它在哪裏。

+0

我試過了。但問題依然存在。 – 2013-04-30 16:43:16

相關問題