跳到内容

invalid-print-syntax (F633)

派生自 Pyflakes 代码检查器。

作用

检查使用 >> 语法的 print 语句。

为什么这不好?

在 Python 2 中,print 语句可以与 >> 语法一起使用,以打印到类文件对象。这种 print >> sys.stderr 语法在 Python 3 中已不存在,因为 print 只是一个函数,而不是一个语句。

请改用 print 函数的 file 关键字参数、sys.stderr.write 函数或 logging 模块。

示例

from __future__ import print_function
import sys

print >> sys.stderr, "Hello, world!"

建议改为

print("Hello, world!", file=sys.stderr)

或者

import sys

sys.stderr.write("Hello, world!\n")

或者

import logging

logging.error("Hello, world!")

参考