在将PyCharm更新到2017.1版本后,一个新的检查警告开始在一个看似简单和正确的地方弹出。它看起来如下:
似乎open()
函数返回的类型与file
参数的期望类型不符,但代码非常简单明了,最重要的是它按照预期工作(使用Python 3.5.2)。
Python文档提到了一种使用StringIO
的方法,并确实消除了警告,但这是否是指定print
输出流的正确Python方式?如果是,为什么?遵循此警告是否重要?在将PyCharm更新到2017.1版本后,一个新的检查警告开始在一个看似简单和正确的地方弹出。它看起来如下:
似乎open()
函数返回的类型与file
参数的期望类型不符,但代码非常简单明了,最重要的是它按照预期工作(使用Python 3.5.2)。
Python文档提到了一种使用StringIO
的方法,并确实消除了警告,但这是否是指定print
输出流的正确Python方式?如果是,为什么?遵循此警告是否重要?from typing import IO
with open('output_filename', 'w') as f: # type: IO[str]
print('some text to go to the file...', file=f)