2012-08-06 10 views
6

テキストを含むPythonで偽のファイルオブジェクトを作成するにはどうすればよいですか?私は、ファイルオブジェクトを取り込み、readlines()を介してテキストを取得し、次にテキスト操作を行うメソッドの単体テストを作成しようとしています。ファイルシステム上に実際のファイルを作成することはできません。ソリューションはPython 2.7.3と互換性がなければなりません。Pythonで偽のテキストファイルを作成するには

答えて

25

これはまさにStringIO/cStringIO(Python 3ではio.StringIOに改名)というものです。あなたが必要とするすべてはreadlines()で、特に以来、かなり簡単にそれを自分で実装することができ

+0

+1私はそれを投稿しようとしていました! –

+0

解決策はPython 2.7.3と互換性がなければなりません – user1454693

+4

@ user1454693 StringIOバージョンは...または他の世界と比べて2.7.3を使用していますか? –

2

または:

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() 

こと。

関連する問題