2016-11-15 70 views
0

我正在写一个函数,将文件指针作为参数并写入它。我想一个类型提示添加到这样的说法:Python类型提示:如何指定文件指针作为参数?

def write_some_stuff(fp: _io.TextIOWrapper): 
    ... 

_io.TextIOWrapper是什么type(open(...))给我。

有什么我应该用的?为此,我找不到typing模块中的任何内容。

+0

你的功能关心的文件界面有哪些方面?例如,任何“Iterable [str]”都可以吗? – jonrsharpe

+0

@jonrsharpe函数需要能够写入它。我已经更新了这个问题。 – scribu

回答

1

如果您希望更通用一些,并允许处于文本模式的任何文件对象(即read()返回Unicode字符串),您可能想要提示您采用io.TextIOBase参数。除了更常见的io.TextIOWrapper实例之外,这将允许io.StringIO的实例。

即使您坚持使用TextIOWrapper,您也不需要io模块名称上的下划线。常规io模块将_io模块中的所有相关类型导入其自己的名称空间。

相关问题