Article View: pl.comp.lang.python
Article #45Re: Dlaczego lubicie Pythona?
From: piter
Date: Sat, 30 Nov 2002 13:33
Date: Sat, 30 Nov 2002 13:33
69 lines
3586 bytes
3586 bytes
Użytkownik "Jacek Konieczny" <jajcus@bnet.pl> napisał w wiadomości
news:slrnauh23g.khr.jajcus@nic.bnet.pl...
> In article <as9bq1$jgj$1@news.tpi.pl>, piter wrote:
> > a generalnie ma wprost bajeczny support ze strony biblioteki do robienia
> > aplikacji sieciowych, vide Socket, ServerSocket (threading/forking
model),
> > urllib, httplib, simpleHTTPServer (ten ostatni w doslownie 10 linijek
kodu
> > umozliwia zrobic wlasny server HTTP)
> A ja się na tych bibliotekach zawiodłem. Zrobienie aplikacji, która
> obsługuje kilka połączeń HTTP na raz i to tak, żeby była nad nimi pełna
> kontrola (np. możliwość przerwania dowolnego połączenia w dowolnej
> chwili), to koszmar, a właściwie coś czego w oparciu o dostępne moduły
> nie da się zrobić. :-(
>
> W wielu miejscach brakuje mi bardziej niskopoziomowego wejścia do
> niektórych modułów, np. z httplib chciałbym mieć możliwośc uzyskania
> socketa, który mógłbym obsłużyć wraz z innymi poprzez select.select()
> w moim programie. To pomogłoby rozwiązać problem z poprzedniego akapitu,
> i to bez użycia wątków.
testowane localnie: mozesz zamiast 'localhost' i 8000 dac np www.google.com:
import httplib
h = httplib.HTTP( 'localhost', 8000 )
h.putrequest('GET', '/c:/')
h.putheader('Accept', 'text/html')
h.putheader('Accept', 'text/plain')
h.endheaders()
errcode, errmsg, headers = h.getreply()
print errcode
f = h.getfile()
import select
import time
data = ""
numChunks = 0
while 1:
i,o,e = select.select( [f], [], [] )
if f in i:
chunk = f.read( 16 ) # na upartego mozesz dac f.read()...
if chunk:
data += chunk
numChunks += 1
else:
break
print data
print numChunks
czy to jest to o co ci chodzilo?
>
> Także moduł cgi w bibliotece standardowej pythona nie został
> przemyślnany, a potem był tylko łatany, żeby w miarę sensownie można
> było z niego korzystać --- mam na myśli to, że raz wartość parametru
> jest listą, a raz nie i łatanie tego w postaci getfirst() i getlist().
tu sie zgadzam dokumentnie, ale zamiast uzywac cgi czyemu nie uzyc
dziesiatek innych modulow do cgi (webkit, spyce itd)?
>
> Ogólnie mam sporo zastrzeżeń do podstawowej biblioteki, ale mimo to
> uważamy Pythona za język najlepszy pod słońcem. Bo pozwala pisać prosto,
> ładnie i czytelnie. A to co mi najbardziej się podoba, to rozdział
> przestrzeni nazw.
>
> Pozdrowienia,
> Jacek
Technical Details
Message-ID:
<asaeoh$6pb$1@news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mailReferences:
<slrnauek9a.48c.Ukasz@cytadela.bm> <as7nij$r21$1@news.gazeta.pl> <as9bq1$jgj$1@news.tpi.pl> <slrnauh23g.khr.jajcus@nic.bnet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!news.tpi.pl!not-for-mail From: "piter" <tojopiter@yahoo.com> Newsgroups: pl.comp.lang.python Subject: Re: Dlaczego lubicie Pythona? Date: Sat, 30 Nov 2002 14:33:32 +0100 Organization: tp.internet - http://www.tpi.pl/ Lines: 71 Message-ID: <asaeoh$6pb$1@news.tpi.pl> References: <slrnauek9a.48c.Ukasz@cytadela.bm> <as7nij$r21$1@news.gazeta.pl> <as9bq1$jgj$1@news.tpi.pl> <slrnauh23g.khr.jajcus@nic.bnet.pl> Reply-To: "piter" <tojopiter@yahoo.com> NNTP-Posting-Host: pd29.poznan.cvx.ppp.tpnet.pl X-Trace: news.tpi.pl 1038663250 6955 213.76.75.29 (30 Nov 2002 13:34:10 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Sat, 30 Nov 2002 13:34:10 +0000 (UTC) X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MSMail-Priority: Normal X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit