PyCharm - 预期类型'Optional [IO [str]]',得到'TextIOWrapper [str]'代替

时间:2017-04-07 17:48:27

标签: python

将PyCharm更新到2017.1后,一个新的检查警告开始出现在一切看似简单和正确的地方。它看起来如下:

Screenshot

看起来open()没有返回file参数的预期类型,但代码非常简单,最重要的是,它可以按预期工作(使用Python 3.5.2)。 / p>

Python docs提到使用StringIO的方式并确实删除了警告,但是是指定print输出流的正确pythonic方式吗?如果是这样,为什么?这个警告很重要吗?

1 个答案:

答案 0 :(得分:6)

我找到的唯一解决方案是正确输入提示PyCharm:

from typing import IO

with open('output_filename', 'w') as f:  # type: IO[str]
    print('some text to go to the file...', file=f)

这使PyCharm保持高兴,并且不会妨碍正确运行代码。