2016-11-15 71 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模塊中的所有相關類型導入其自己的名稱空間。

相關問題