0
我正在写一个函数,将文件指针作为参数并写入它。我想一个类型提示添加到这样的说法:Python类型提示:如何指定文件指针作为参数?
def write_some_stuff(fp: _io.TextIOWrapper):
...
_io.TextIOWrapper
是什么type(open(...))
给我。
有什么我应该用的?为此,我找不到typing模块中的任何内容。
我正在写一个函数,将文件指针作为参数并写入它。我想一个类型提示添加到这样的说法:Python类型提示:如何指定文件指针作为参数?
def write_some_stuff(fp: _io.TextIOWrapper):
...
_io.TextIOWrapper
是什么type(open(...))
给我。
有什么我应该用的?为此,我找不到typing模块中的任何内容。
如果您希望更通用一些,并允许处于文本模式的任何文件对象(即read()
返回Unicode字符串),您可能想要提示您采用io.TextIOBase
参数。除了更常见的io.TextIOWrapper
实例之外,这将允许io.StringIO
的实例。
即使您坚持使用TextIOWrapper
,您也不需要io
模块名称上的下划线。常规io
模块将_io
模块中的所有相关类型导入其自己的名称空间。
你的功能关心的文件界面有哪些方面?例如,任何“Iterable [str]”都可以吗? – jonrsharpe
@jonrsharpe函数需要能够写入它。我已经更新了这个问题。 – scribu