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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

Python生成短uuid的方法实例详解

python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,...

python pandas dataframe 行列选择,切片操作方法

SQL中的select是根据列的名称来选取;Pandas则更为灵活,不但可根据列名称选取,还可以根据列所在的position(数字,在第几行第几列,注意pandas行列的position...

简单了解python代码优化小技巧

简单了解python代码优化小技巧

对比以下两种写法,思考一下为何可以这样写。 成绩在 [0,50)、[50,60)、[60,80)、[80,100)、100、其它 score = float(input("请输入你的...

在Python中使用CasperJS获取JS渲染生成的HTML内容的教程

文章摘要:其实这里casperjs与python没有直接关系,主要依赖casperjs调用phantomjs webkit获取html文件内容。长期以来,爬虫抓取 客户端javascri...

OpenCV哈里斯(Harris)角点检测的实现

OpenCV哈里斯(Harris)角点检测的实现

环境 pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 理论 克里...