python基于xmlrpc实现二进制文件传输的方法

yipeiwu_com6年前Python基础

本文实例讲述了python基于xmlrpc实现二进制文件传输的方法。分享给大家供大家参考。具体实现方法如下:

服务器端:

from SimpleXMLRPCServer import SimpleXMLRPCServer
import xmlrpclib
def python_logo():
   handle = open("python_logo.jpg",'rb')
   return xmlrpclib.Binary(handle.read())
   handle.close()
server = SimpleXMLRPCServer(("localhost", 8000))
print "Listening on port 8000..."
server.register_function(python_logo, 'python_logo')
server.serve_forever()

客户端代码:

import xmlrpclib
proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
handle = open("fetched_python_logo.jpg", "wb")
handle.write(proxy.python_logo().data)
handle.close()

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

相关文章

解决PySide+Python子线程更新UI线程的问题

在我开发的系统,需要子线程去运行,然后把运行的结果发给UI线程,让UI线程知道运行的进度。 首先创建线程很简单 def newThread(self): d = Data() p...

python中pygame安装过程(超级详细)

python中pygame安装过程(超级详细)

安装时是需要设置python环境变量的,下载python的时候底下有个小框框(没有默认选中) Add Python 3.7 to PATH需要选择的,如果没有选择的话,需要自己设置,我一...

python自动化工具之pywinauto实例详解

本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一、win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py...

浅谈Pandas 排序之后索引的问题

如下所示: In [1]: import pandas as pd ...: df=pd.DataFrame({"a":[1,2,3,4,5],"b":[5,4,3,2,1]})...

python ipset管理 增删白名单的方法

为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理 #!/usr/bin/env python # coding: utf-8 import MySQLdb...