Python 3.x 为什么在pylint中返回print(';string';)调用语法错误
我正在ubuntu 14.04上运行pylint 1.1.0-1 我的代码通过了python 3.4的所有检查,运行良好 但是,通过pylint检查,它会调用以下行的语法错误: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看起来确实毫无意义
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。如果出现错误,则引发适当的异常并让调用方处理它。。。