Jak mogę zasymulować sesję interaktywną Pythona przy użyciu danych wejściowych z pliku i zapisać, co byłoby transkrypcją? Innymi słowy, jeśli mam pliku sample.py
:Symulacja sesji interaktywnego pytona
#
# this is a python script
#
def foo(x,y):
return x+y
a=1
b=2
c=foo(a,b)
c
Chcę dostać sample.py.out
że wygląda następująco (python szyldem pominięta):
>>> #
... # this is a python script
... #
... def foo(x,y):
... return x+y
...
>>> a=1
>>> b=2
>>>
>>> c=foo(a,b)
>>>
>>> c
3
>>>
próbowałem karmienia stdin do pytona, Twittera sugestie były "skryptem basha" bez szczegółów (grane z poleceniem skryptu w bash, bez radości). Czuję, że to powinno być łatwe i brakuje mi czegoś prostego. Czy muszę napisać parser za pomocą exec
czy coś takiego?
Rozwiązanie Python lub ipython byłoby w porządku. I może wtedy chcesz przekonwertować do formatu html i podświetlanie składni to w przeglądarce internetowej, ale to już inny problem ....
Czy próbujesz zapisać sesję powłoki Pythona interaktywnego w pliku lub emulować powłokę/konsolę Pythona? –
@JamesMills Myślę, że OP chce dokładnie naprzeciwko, skrypt, który ma być konwertowany, aby wyglądał jak z interaktywnej powłoki. – luk32
http://pythonhosted.org/sphinxcontrib-programoutput/ <- To zrobi coś takiego. –