-1
我需要使字符串被bibtexparser
的parsing_read
讀取。據我瞭解,模塊,它只讀取文件,而不是流,所以我做了:使用io.StringIO讀取字符串作爲文件
text = "Some text"
with open("/tmp/bibtmp.bib", "w") as bibfile:
bibfile.write(text)
self.parsing.parsing_read("/tmp/bibtmp.bib")
但是,我想,使其讀取字符串,並試圖io.StringIO
模塊:
fakefile = io.StringIO("SomeText")
self.parsing.parsing_read(fakefile)
這是給錯誤(從self.parsing.parsing_read,這將打開文件):
TypeError: invalid file: <_io.StringIO object at 0x7fb4d6537ca8>
所以,很顯然,fakefile是io.StringIO
,而不是Fake
文件。我的理解io.StringIO
的目的不對?或者只是做錯了?
一個臨時文件可能更適合https://docs.python.org/2/library/tempfile.html,你有一個NamedTemporaryFile –
你猜的。名稱attibute成爲「假」文件?一個對象*是一個文件,或者它不是(它可以像文件一樣,例如流)。從[dox](https://docs.python.org/2/library/io.html)中,'io.StringIO'類爲unicode文本提供*內存流* –
您可能還想鏈接到包含'parsing_read'的文檔 –