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