Python3, flake8 - 文件类型注解

4 投票
1 回答
598 浏览
提问于 2025-04-19 02:02

我在我的函数里想给一个文件加注释,但遇到了一个问题,跟我的pep8检查工具(flake8)有关:

我写的代码是:

def my_function(myfile: file):

结果出现了

'未定义的名称 file'。

这也没错,因为在python3里已经没有这个函数了。

要检查一个变量是不是文件类型的对象,唯一的方法就是使用来自io包的IOBase

在我的情况下,这意味着我需要从io包导入IOBase,才能正确地进行注释。

from io import IOBase
def my_function(myfile: IOBase):
   pass

有没有其他方法可以正确地注释一个文件类型的参数呢?

1 个回答

0

你正在使用或者运行错误版本的flake。上面的代码在flake8-2.5.0这个版本下运行得很好。

撰写回答