Python 3.x 为什么在pylint中返回print(';string';)调用语法错误

Python 3.x 为什么在pylint中返回print(';string';)调用语法错误,python-3.x,pylint,Python 3.x,Pylint,我正在ubuntu 14.04上运行pylint 1.1.0-1 我的代码通过了python 3.4的所有检查,运行良好 但是,通过pylint检查,它会调用以下行的语法错误: if not (os.path.exists(d1)and os.path.exists(d2)): return print('\npaths not found\n') 为什么 因为pylint发现了错误,所以它没有继续提供报告和统计数据。。。。这不是语法错误。。。但是return print看起来确实毫无意义

我正在ubuntu 14.04上运行pylint 1.1.0-1

我的代码通过了python 3.4的所有检查,运行良好

但是,通过pylint检查,它会调用以下行的语法错误:

if not (os.path.exists(d1)and os.path.exists(d2)):
  return print('\npaths not found\n')
为什么


因为pylint发现了错误,所以它没有继续提供报告和统计数据。

。。。这不是语法错误。。。但是
return print
看起来确实毫无意义,因为它只不过是
return None
。。。如果你从函数的末尾掉下来而没有返回任何东西,就会发生这种情况。。。您是否真的打算
打印
字符串,或者是否打算
返回
字符串,这有点令人困惑。。。也许pylint只是说它没有意义?我建议您先做一下
pylint--version
,并确保它是Python 3的变体。此外,错误代码的完整列表也在上面-可能需要查找pylint管道的确切原因up@JonClements,退出函数时打印错误消息不是很常见吗?类似于return errormsg(error_code)调用错误消息处理函数?@timeislove no-不是真的。我想
returnerrormsg(error\u code)
返回的不是
None
的东西比
returnprint(…)
更有意义,尽管它不是真正的Pythonic。如果出现错误,则引发适当的异常并让调用方处理它。。。