[英]Print syntax error, python 2.7.6
写了一些代码,这个语法错误一直在发生,但我无法解决它。 由于想要只在打开详细选项时打印,我已经包含了与错误行相关的所有代码。
from __future__ import print_function
print = print_function
parser.add_argument("-v", "--verbose", action="store_true",help="Help option"
verboseprint = print if verbose else lambda *a, **k: None
if line2_rev:
verboseprint "Line2 has now been reversed"
verboseprint " Line2 has now been reversed"
^
SyntaxError: invalid syntax
我尝试使用''而不是更改内部的字符串,但发生了同样的错误。 有任何想法吗?
当您from __future__ import print_function
运行时, print()
是一个函数 ,而不是一个语句。 您也不verboseprint
用作语句。
将其用作函数:
from __future__ import print_function
parser.add_argument("-v", "--verbose", action="store_true",help="Help option"
verboseprint = print if verbose else lambda *a, **k: None
if line2_rev:
verboseprint("Line2 has now been reversed")
__future__
导入改变了编译器的工作方式; print
特定模块的语言中删除了print
关键字,而Python 2中已经存在的内置print()
函数也可用。 所以代替:
print "This is printed"
你用的是:
print("This is printed")
但是在你的代码中你定义了一个同样有效的新函数。
您无需在代码中指定print = print_function
。
当您import print_function
,不使用名为print_function
东西,但是您更改为使用Python3语法而不是print关键字语法。
在Python2中传统上你会说:
print 'something', 'other',
你说import from __future__ import print_function
print('Something', 'other', end='')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.