从Sublime Text运行Python 3时出错,在IDLE中正常工作
我有:
def confirm_title(title):
print("Is '", title, "' correct?", sep='')
confirmation = input("Y = yes N = no: ")
return confirmation
在Sublime Text 2中运行了这个代码,使用了以下命令:
工具 -> 构建系统 -> (选择)Python
CMD + B (在OSX上)
但是Sublime Text的控制台给了我以下错误:
File "/Users/robert/Desktop/Python/ex_1.py", line 69
print("Is '", title, "' correct?", sep='')
^
SyntaxError: invalid syntax
[Finished in 3.6s with exit code 1]
[shell_cmd: python -u "/Users/robert/Desktop/Python/ex_1.py"]
[dir: /Users/robert/Desktop/Python]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
现在如果我在Python IDLE 3.4中运行这个代码,它就能正常工作。为什么在Sublime Text中不行呢?是因为它使用了某个预装的其他版本的Python吗?
1 个回答
1
这个SyntaxError错误是因为你在Sublime中使用的是Python 2.x。
你可以通过以下方式确认这一点:
简单执行一个
print "hello world"
如果这个能正常运行,那你就可以确定你用的不是Python 3,而是Python 2。或者直接导入
from platform import python_version
print python_version
Python 2通常支持把print
当作一个函数来用,但当你尝试打印一个元组时,结果就会很难看。
print 'Hello, World!'
print('Hello, World!')
Python 2.7.6
Hello, World!
Hello, World!
print 'Python', python_version()
print('a', 'b')
print 'a', 'b'
Python 2.7.6
('a', 'b')
a b
而且在Python 2中,你不能使用end
这个参数。如果你想在同一行打印,可以用这个:
print "text", ; print 'print more text on the same line'
text print more text on the same line