16

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

4

3 に答える 3

34

これはまさにStringIO/cStringIO ( io.StringIOPython 3 で名前が変更された) の目的です。

于 2012-08-06T17:59:09.080 に答える
4

または、特に必要なものは次のreadlines()とおりであるため、非常に簡単に自分で実装できます。

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

それは、他の答えがおそらくより正しいと言いました。

于 2012-08-06T18:09:21.290 に答える