楼主: 牛尾巴
8737 86

【独家发布】【kindle】Python核心编程(第2版)   [推广有奖]

11
jinyizhe282 发表于 2016-8-16 22:49:47
  1. #!/usr/bin/env python

  2. from socket import *
  3. from time import ctime

  4. HOST = ''
  5. PORT = 21567
  6. BUFSIZ = 1024
  7. ADDR = (HOST, PORT)

  8. tcpSerSock = socket(AF_INET, SOCK_STREAM)
  9. tcpSerSock.bind(ADDR)
  10. tcpSerSock.listen(5)

  11. while True:
  12.     print 'waiting for connection...'
  13.     tcpCliSock, addr = tcpSerSock.accept()
  14.     print '...connected from:', addr

  15.     while True:
  16.         data = tcpCliSock.recv(BUFSIZ)
  17.         if not data:
  18.             break
  19.         tcpCliSock.send('[%s] %s' % (
  20.             ctime(), data))

  21.     tcpCliSock.close()
  22. tcpSerSock.close()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

12
ithjesuxf 发表于 2016-8-17 23:04:40
  1. #!/usr/bin/env python

  2. from SocketServer import (TCPServer as TCP,
  3.     StreamRequestHandler as SRH)
  4. from time import ctime

  5. HOST = ''
  6. PORT = 21567
  7. ADDR = (HOST, PORT)

  8. class MyRequestHandler(SRH):
  9.     def handle(self):
  10.         print '...connected from:', self.client_address
  11.         self.wfile.write('[%s] %s' % (ctime(),
  12.             self.rfile.readline()))

  13. tcpServ = TCP(ADDR, MyRequestHandler)
  14. print 'waiting for connection...'
  15. tcpServ.serve_forever()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

13
sdgsxyjjxy 发表于 2016-8-17 23:13:25
  1. #!/usr/bin/env python

  2. from twisted.internet import protocol, reactor
  3. from time import ctime

  4. PORT = 21567

  5. class TSServProtocol(protocol.Protocol):
  6.     def connectionMade(self):
  7.         clnt = self.clnt = self.transport.getPeer().host
  8.         print '...connected from:', clnt
  9.     def dataReceived(self, data):
  10.         self.transport.write('[%s] %s' % (
  11.             ctime(), data))

  12. factory = protocol.Factory()
  13. factory.protocol = TSServProtocol
  14. print 'waiting for connection...'
  15. reactor.listenTCP(PORT, factory)
  16. reactor.run()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

14
qingxunz 发表于 2016-8-18 04:48:26
  1. #!/usr/bin/env python

  2. from socket import *

  3. HOST = 'localhost'
  4. PORT = 21567
  5. BUFSIZ = 1024
  6. ADDR = (HOST, PORT)

  7. udpCliSock = socket(AF_INET, SOCK_DGRAM)

  8. while True:
  9.     data = raw_input('> ')
  10.     if not data:
  11.         break
  12.     udpCliSock.sendto(data, ADDR)
  13.     data, ADDR = udpCliSock.recvfrom(BUFSIZ)
  14.     if not data:
  15.         break
  16.     print data

  17. udpCliSock.close()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

15
zhuzhijun 发表于 2016-8-18 07:58:03
  1. #!/usr/bin/env python

  2. from socket import *
  3. from time import ctime

  4. HOST = ''
  5. PORT = 21567
  6. BUFSIZ = 1024
  7. ADDR = (HOST, PORT)

  8. udpSerSock = socket(AF_INET, SOCK_DGRAM)
  9. udpSerSock.bind(ADDR)

  10. while True:
  11.     print 'waiting for message...'
  12.     data, addr = udpSerSock.recvfrom(BUFSIZ)
  13.     udpSerSock.sendto('[%s] %s' % (
  14.         ctime(), data), addr)
  15.     print '...received from and returned to:', addr

  16. udpSerSock.close()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

16
generalxiao 发表于 2016-8-18 08:52:11
  1. #!/usr/bin/env python

  2. import ftplib
  3. import os
  4. import socket

  5. HOST = 'ftp.mozilla.org'
  6. DIRN = 'pub/mozilla.org/webtools'
  7. FILE = 'bugzilla-LATEST.tar.gz'

  8. def main():
  9.     try:
  10.         f = ftplib.FTP(HOST)
  11.     except (socket.error, socket.gaierror), e:
  12.         print 'ERROR: cannot reach "%s"' % HOST
  13.         return
  14.     print '*** Connected to host "%s"' % HOST

  15.     try:
  16.         f.login()
  17.     except ftplib.error_perm:
  18.         print 'ERROR: cannot login anonymously'
  19.         f.quit()
  20.         return
  21.     print '*** Logged in as "anonymous"'

  22.     try:
  23.         f.cwd(DIRN)
  24.     except ftplib.error_perm:
  25.         print 'ERROR: cannot CD to "%s" folder' % DIRN
  26.         f.quit()
  27.         return
  28.     print '*** Changed to "%s" folder' % DIRN

  29.     try:
  30.         f.retrbinary('RETR %s' % FILE,
  31.             open(FILE, 'wb').write)
  32.     except ftplib.error_perm:
  33.         print 'ERROR: cannot read file "%s"' % FILE
  34.         if os.path.exists(FILE): os.unlink(FILE)
  35.     else:
  36.         print '*** Downloaded "%s" to CWD' % FILE
  37.     f.quit()
  38.     return

  39. if __name__ == '__main__':
  40.     main()
复制代码

17
闹钟菌 发表于 2016-8-18 08:54:24
  1. #!/usr/bin/env python

  2. import nntplib
  3. import socket

  4. HOST = 'your.nntp.sersper'
  5. GRNM = 'comp.lang.python'
  6. USER = 'wesley'
  7. PASS = "you'llNeverGuess"

  8. def main():

  9.     try:
  10.         n = nntplib.NNTP(HOST)
  11.         #user=USER, password=PASS)
  12.     except socket.gaierror, e:
  13.         print 'ERROR: cannot reach host "%s"' % HOST
  14.         print '    ("%s")' % eval(str(e))[1]
  15.         return
  16.     except nntplib.NNTPPermanentError, e:
  17.         print 'ERROR: access denied on "%s"' % HOST
  18.         print '    ("%s")' % str(e)
  19.         return
  20.     print '*** Connected to host "%s"' % HOST

  21.     try:
  22.         rsp, ct, fst, lst, grp = n.group(GRNM)
  23.     except nntplib.NNTPTemporaryError, e:
  24.         print 'ERROR: cannot connect to group "%s"' % GRNM
  25.         print '    ("%s")' % str(e)
  26.         print '    Server may require authentication'
  27.         print '    Uncomment/edit login line above'
  28.         n.quit()
  29.         return
  30.     except nntplib.NNTPTemporaryError, e:
  31.         print 'ERROR: group "%s" unavailable' % GRNM
  32.         print '    ("%s")' % str(e)
  33.         n.quit()
  34.         return
  35.     print '*** Found newsgroup "%s"' % GRNM

  36.     rng = '%s-%s' % (lst, lst)
  37.     rsp, frm = n.xhdr('from', rng)
  38.     rsp, sub = n.xhdr('subject', rng)
  39.     rsp, dat = n.xhdr('date', rng)
  40.     print '''*** Found last article (#%s):
  41.     From: %s
  42.     Subject: %s
  43.     Date: %s
  44. '''% (lst, frm[0][1], sub[0][1], dat[0][1])

  45.     rsp, anum, mid, data = n.body(lst)
  46.         displayFirst20(data)
  47.     n.quit()

  48. def displayFirst20(data):
  49.     print '*** First (<= 20) meaningful lines:\n'
  50.     count = 0
  51.     lines = (line.rstrip() for line in data)
  52.     lastBlank = True
  53.     for line in lines:
  54.         if line:
  55.             lower = line.lower()
  56.             if (lower.startswith('>') and not \
  57.                                 lower.startswith('>>>')) or \
  58.                 lower.startswith('|') or \
  59.                 lower.startswith('in article') or \
  60.                 lower.endswith('writes:') or \
  61.                 lower.endswith('wrote:'):
  62.                 continue
  63.         if not lastBlank or (lastBlank and line):
  64.             print '    %s' % line
  65.             if line:
  66.                 count += 1
  67.                 lastBlank = False
  68.             else:
  69.                 lastBlank = True
  70.         if count == 20:
  71.             break

  72. if __name__ == '__main__':
  73.     main()
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

18
kingstarling 发表于 2016-8-18 13:45:18
  1. #!/usr/bin/env python

  2. from smtplib import SMTP
  3. from poplib import POP3
  4. from time import sleep

  5. SMTPSVR = 'smtp.python.is.cool'
  6. POP3SVR = 'pop.python.is.cool'

  7. origHdrs = ['From: wesley@python.is.cool',
  8.     'To: wesley@python.is.cool',
  9.     'Subject: test msg']
  10. origBody = ['xxx', 'yyy', 'zzz']
  11. origMsg = '\r\n\r\n'.join(['\r\n'.join(origHdrs), '\r\n'.join(origBody)])

  12. sendSvr = SMTP(SMTPSVR)
  13. errs = sendSvr.sendmail('wesley@python.is.cool',
  14.     ('wesley@python.is.cool', ), origMsg)
  15. sendSvr.quit()
  16. assert len(errs) == 0, errs
  17. sleep(10)    # wait for mail to be delivered

  18. recvSvr = POP3(POP3SVR)
  19. recvSvr.user('wesley')
  20. recvSvr.pass_('youllNeverGuess')
  21. rsp, msg, siz = recvSvr.retr(recvSvr.stat()[0])
  22. # strip headers and compare to orig msg
  23. sep = msg.index('')
  24. recvBody = msg[sep+1:]
  25. assert origBody == recvBody # assert identical
复制代码

已有 1 人评分论坛币 收起 理由
Nicolle + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

19
ls5655 发表于 2016-8-18 14:40:13
I am learning python, hope it will be helpful

20
algotrader 发表于 2016-8-18 17:13:09
谢谢楼主分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-28 13:13