繁体   English   中英

打印语法错误,python 2.7.6

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM