python实现带错误处理功能的远程文件读取方法

yipeiwu_com5年前Python基础

本文实例讲述了python实现带错误处理功能的远程文件读取方法。分享给大家供大家参考。具体如下:

import socket, sys, time
host = sys.argv[1]
textport = "80"
filename = sys.argv[3]
try:
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  port = int(textport)
  s.connect((host, port))
  fd = s.makefile('rw', 0)
  print "sleeping..."
  time.sleep(10)
  print "Continuing."
  fd.write("GET %s HTTP/1.0\r\n\r\n" % filename)
  fd.flush()    
  s.shutdown(1)  
except socket.gaierror, e:
  print "Address-related error connecting to server: %s" % e
  sys.exit(1)
except socket.error, e:
  print "Connection error: %s" % e
  sys.exit(1)
while 1:
  try:
    buf = fd.read(2048)
  except socket.error, e:
    print "Error receiving data: %s" % e
    sys.exit(1)
  if not len(buf):
    break
  sys.stdout.write(buf)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

使用django-suit为django 1.7 admin后台添加模板

django-grappelli里面使用inline似乎有点儿问题,换一个皮: django-suit是2scoops推荐的第二个admin skin. Supports: Django...

Python 随机生成中文验证码的实例代码

python代码复制代码 代码如下: # -*- coding: utf-8 -*-  import Image,ImageDraw,ImageFont &nbs...

深入理解 Python 中的多线程 新手必看

示例1 我们将要请求五个不同的url: 单线程 import time import urllib2 defget_responses(): urls=[ ‘http...

python 获取一个值在某个区间的指定倍数的值方法

如下所示: #获取一个值在某个区间的指定倍数的值方法 #1 # print([i for i in range(1,101) if i%5==0]) # 2 # L = rang...

python requests post多层字典的方法

pyhton requests模块post方法传参为多层字典时,转换错误, 如,表单传参 { “a”:1, “b”:{ “A”:2, “B”:3 } } post请求...