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
6
A
Odpowiedz
25
To jest właśnie to, do czego służy StringIO
/cStringIO
(zmieniona na io.StringIO
w Pythonie 3).
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.
+1 Chciałam to opublikować! –
Rozwiązanie musi być kompatybilne z Pythonem 2.7.3 – user1454693
@ user1454693 Wersja StringIO to ... czy używasz innego 2.7.3 niż reszta świata? –