2012-08-06 63 views
6

如何在包含文本的Python中創建假文件對象?我試圖編寫一個方法的單元測試,它接受一個文件對象並通過readlines()檢索文本,然後進行一些文本處理。請注意,我無法在文件系統上創建實際文件。該解決方案必須與Python 2.7.3兼容。如何在Python中創建假文本文件

回答

25

這正是StringIO/cStringIO(在Python 3中更名爲io.StringIO)的用途。

+0

+1我只是要發佈! – 2012-08-06 17:59:27

+0

該解決方案必須與Python 2.7.3兼容 – user1454693 2012-08-06 18:02:12

+4

@ user1454693該StringIO版本是...或者您是否使用與世界其他地方不同的2.7.3版本? – 2012-08-06 18:03:50

2

或者你也可以很容易地特別是因爲所有你需要的是readlines()實現它自己:

def FileSpoof: 
    def __init__(self,my_text): 
     self.my_text = my_text 
    def readlines(self): 
     return self.my_text.splitlines() 

則只是把它想:

somefake = FileSpoof("This is a bunch\nOf Text!") 
print somefake.readlines() 

認爲對方的回答很可能是比較正確的。

相關問題