运行 python 中的版本特定代码给我错误
Running version specific code in python gives me error
我是 Python 语言的新手。我看到一个关于如何在 python 脚本中 运行 版本特定代码的 Whosebug 问题。我写了以下代码:
import sys
mylist = []
mylist.append(1)
mylist.append(2)
mylist.append(3)
str=""
if sys.version_info[0] == 2:
print("version 2\n")
for x in mylist:
str += "{}".format(x)
print(str)
else:
print("version 3 or above\n")
for x in mylist:
print(x, end='')
print()
但是这段代码给我一个错误如下 -
File "test.py", line 18
print(x, end='')
SyntaxError: invalid syntax
如果我 运行 Python2 中的这段代码,它会在 else 部分给出错误。为什么要进入else块?
错误是在编译时,而不是在程序执行时。
编译器将尝试编译 python 2 中的两个 if..else
块。
Python2 的编译器不支持给定的 print(x, end='')
语法。
SyntaxError
在您的代码运行之前发生,python 将检查代码的所有行并根据 python 解释器的版本查找语法问题,这是不对的在 python2.x 中,这就是为什么会出现该错误(未进入块,因为您的代码尚未开始)解决方案是使用 __future__
并导入 print_function
.
我是 Python 语言的新手。我看到一个关于如何在 python 脚本中 运行 版本特定代码的 Whosebug 问题。我写了以下代码:
import sys
mylist = []
mylist.append(1)
mylist.append(2)
mylist.append(3)
str=""
if sys.version_info[0] == 2:
print("version 2\n")
for x in mylist:
str += "{}".format(x)
print(str)
else:
print("version 3 or above\n")
for x in mylist:
print(x, end='')
print()
但是这段代码给我一个错误如下 -
File "test.py", line 18 print(x, end='') SyntaxError: invalid syntax
如果我 运行 Python2 中的这段代码,它会在 else 部分给出错误。为什么要进入else块?
错误是在编译时,而不是在程序执行时。
编译器将尝试编译 python 2 中的两个 if..else
块。
Python2 的编译器不支持给定的 print(x, end='')
语法。
SyntaxError
在您的代码运行之前发生,python 将检查代码的所有行并根据 python 解释器的版本查找语法问题,这是不对的在 python2.x 中,这就是为什么会出现该错误(未进入块,因为您的代码尚未开始)解决方案是使用 __future__
并导入 print_function
.