2010-04-07 21 views
23

Napisałem małą aplikację konsolową, która może wykonywać określone zadania. Interfejs użytkownika jest podobny do rzeczy takich jak systemy kontroli wersji lub mniam itd. Więc zasadniczo możesz myśleć o tym jako o języku specyficznym dla danej domeny. Teraz chciałbym napisać powłokę (podobną do bash), która może wykonywać i automatycznie uzupełniać ten język i ma historię poleceń (więc nie muszę ładować i zapisywać dość dużych plików xml dla każdego polecenia). W skrócie chcę czegoś takiego jak ipython, ale nie do wykonywania kodu Pythona, ale mój własny DSL.Jak napisać powłokę w Pythonie

Czy są jakieś biblioteki, które mi w tym pomagają? Widzę, że w pythonie jest moduł readline i rlcompleter, ale jego dokumentacja wydaje się wskazywać, że jest to tylko do użytku z samą powłoką Pythona, czy też coś tam przeoczyłem?

Odpowiedz

21

Powinieneś sprawdzić moduły cmd i cmd2. Myślę, że zrobią to, co chcesz. Było o tym PyCon talk.

+1

Tak, właśnie tego szukałem! Dzięki. – panzi

+2

Link do rozmowy nie działa. Alternatywny link do tej samej rozmowy [jest tutaj na pyvideo.] (Http://pyvideo.org/video/306/pycon-2010--easy-command-line-applications-with-c). Dyskusja nazywa się: Łatwe aplikacje linii poleceń z cmd i cmd2 (# 153) z Pycon us 2010. – klaas

Powiązane problemy