makefile函数
python的文件类对象可以直接读写等操作,那么使用socket编写服务时,是否可以将socket对象当成文本对象直接进行读写能?答案是肯定的,可以使用makefile函数,生产文件类对象。
makefile函数:
返回一个socket关联的文件类对象,makefile有两个参数:一个为文件类的模式,另一个为缓存的模式;文件类的模式包含只读,只写和既读又写;缓存主要用在磁盘文件,但是对于交互式的网络程序,它可以阻碍程序的运行,建议关闭(0)。
实例:
#!/usr/bin/env python #coding:utf-8 #fileName: makefile demo import socket import sys port = 70 host = sys.argv[1] filename = sys.argv[2] s = socket.socket(socket.AF_INET , socket.SOCK_STREAM) fd = s.makefile(‘rw‘,0) fd.write(filename +‘\r\n‘) for line in fd.readlines(): sys.stdout.write(line)
本文出自 “弹指26年” 博客,请务必保留此出处http://dbbruce.blog.51cto.com/2061658/1561312
原文地址:http://dbbruce.blog.51cto.com/2061658/1561312