Używam Pythona od lat, ale mam niewielkie doświadczenie w programowaniu stron internetowych w Pythonie. Chciałbym stworzyć bardzo prostą usługę sieciową, która udostępnia pewne funkcje z istniejącego skryptu Pythona do użytku w mojej firmie. Prawdopodobnie zwróci wyniki w formacie csv. Jaki jest najszybszy sposób na zrobienie czegoś? Jeśli ma to wpływ na twoją sugestię, prawdopodobnie w przyszłości dodam do tego więcej funkcji.
python
web-services
Jeremy Cantrell
źródło
źródło
Odpowiedzi:
Spójrz na werkzeug . Werkzeug zaczynał jako prosty zbiór różnych narzędzi dla aplikacji WSGI i stał się jednym z najbardziej zaawansowanych modułów narzędziowych WSGI. Zawiera potężny debugger, w pełni funkcjonalne obiekty żądań i odpowiedzi, narzędzia HTTP do obsługi tagów encji, nagłówki kontroli pamięci podręcznej, daty HTTP, obsługę plików cookie, przesyłanie plików, potężny system routingu adresów URL i kilka modułów dodatkowych dostarczonych przez społeczność.
Zawiera wiele fajnych narzędzi do pracy z http i ma tę zaletę, że można go używać z wsgi w różnych środowiskach (cgi, fcgi, apache / mod_wsgi lub z prostym serwerem Pythona do debugowania).
źródło
web.py to prawdopodobnie najprostszy framework sieciowy. „Nagie” CGI jest prostsze, ale jesteś całkowicie sam, jeśli chodzi o tworzenie usługi, która faktycznie coś robi.
"Witaj świecie!" według web.py nie jest dużo dłuższe niż sama wersja CGI, ale dodaje mapowanie adresów URL, rozróżnianie poleceń HTTP i parsowanie parametrów zapytania za darmo :
źródło
Najprostszym sposobem na pobranie skryptu Pythona online jest użycie CGI:
Umieść ten kod w skrypcie, który znajduje się w katalogu CGI twojego serwera WWW, uczyń go wykonywalnym i uruchom.
cgi
Moduł posiada szereg przydatnych narzędzi, gdy trzeba przyjąć parametry z użytkownikiem.źródło
Surowe CGI to trochę uciążliwe, Django to rodzaj wagi ciężkiej. Istnieje wiele prostszych, lżejszych frameworków, np . CherryPy . Warto się trochę rozejrzeć.
źródło
Spójrz na implementację referencyjną WSGI . Masz już to w swoich bibliotekach Pythona. To całkiem proste.
źródło
Jeśli masz na myśli „usługę sieciową ”, coś, do czego mają dostęp inne programy, SimpleXMLRPCServer może być właśnie dla Ciebie. Jest dołączany do każdej instalacji Pythona od wersji 2.2.
W przypadku prostych rzeczy dostępnych dla człowieka zwykle używam Pythona SimpleHTTPServer, który jest również dostarczany z każdą instalacją. Oczywiście możesz również uzyskać dostęp do SimpleHTTPServer przez programy klienckie.
źródło
Życie jest proste, jeśli masz dobry framework sieciowy. Usługi sieciowe w Django są łatwe. Zdefiniuj swój model, napisz funkcje widoku, które zwracają dokumenty CSV. Pomiń szablony.
źródło
Jeśli masz na myśli „usługę sieciową” w sensie SOAP / WSDL, możesz chcieć się przyjrzeć Generowanie WSDL przy użyciu Pythona i SOAPpy
źródło
może Twisted http://twistedmatrix.com/trac/
źródło