2017-04-07 71 views
8

将PyCharm更新至2017.1后,新的检测警告开始出现在一切看似简单正确的地方。它看起来如下:PyCharm - 预期类型'可选[IO [str]]',代替'TextIOWrapper [str]'

Screenshot

它看起来像open()不会为file参数返回预期的类型,但是代码非常简单,如预期最重要的是,没有工作(使用Python 3.5.2 )。

Python docs提及使用StringIO的一种方法,它的确消除了警告,但它为print指定输出流的正确的Python的方式?如果是这样,为什么?这个警告是否重要?

+2

这是一个已知问题[link](https://youtrack.jetbrains.com/issue/PY-23288) –

回答

3

我发现的唯一的解决方法是键入正确提示pycharm:

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

这使pycharm快乐,不以任何方式妨碍你的代码的正确运行。

相关问题