在将PyCharm更新到2017.1后,一个新的检查警告开始出现在一切看似简单和正确的地方.它看起来如下:
它看起来open()
不会返回file
参数的预期类型,但代码非常简单,最重要的是,它可以按预期工作(使用Python 3.5.2).
Python文档提到了一种使用方式StringIO
,它确实删除了警告,但是它是指定输出流的正确pythonic方式print
吗?如果是这样,为什么?这个警告是否很重要?
我找到的唯一解决方案是正确键入提示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保持高兴,并且不会妨碍正确运行代码.