2012-08-06 9 views
6

Jak utworzyć fałszywy obiekt pliku w języku Python zawierający tekst? Próbuję napisać testy jednostkowe dla metody, która pobiera obiekt pliku i pobiera tekst za pomocą readlines(), a następnie wykonuje manipulację tekstem. Uwaga Nie mogę utworzyć rzeczywistego pliku w systemie plików. Rozwiązanie musi być kompatybilne z Pythonem 2.7.3.Jak utworzyć fałszywy plik tekstowy w języku Python

Odpowiedz

25

To jest właśnie to, do czego służy StringIO/cStringIO (zmieniona na io.StringIO w Pythonie 3).

+0

+1 Chciałam to opublikować! –

+0

Rozwiązanie musi być kompatybilne z Pythonem 2.7.3 – user1454693

+4

@ user1454693 Wersja StringIO to ... czy używasz innego 2.7.3 niż reszta świata? –

2

Albo można to realizować siebie dość łatwo zwłaszcza, że ​​wszystko, co potrzebne jest readlines():

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

potem po prostu nazwać to lubią:

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

To znaczy, że druga odpowiedź jest chyba bardziej poprawne.

Powiązane problemy