本文目录一览:
python如何使用socket来传输对象
import socket
import struct
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('localhost', 10000))
values = (1, 'ab', 2.7)
packer = struct.Struct('I 2s f')
packed_data = packer.pack(*values)
try:
sock.sendall(packed_data)
finally:
sock.close()
有个模块叫struct,可以自定义结构体,可以这样发送代码。
try:
import cPickle as pickle
except:
import pickle
class AA():
def a(self):
print "123"
ddd = AA()
data = pickle.dumps(ddd)
还有个模块叫pickle,可以打包任何python对象,打包的结果也可以拿到套接字里发。
如何使用python在局域网上传送文件
可以使用python做HTTP服务器,然后就可以传文件了
首先确保装了Python,Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:
python -m SimpleHTTPServer 80
后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:
如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
python传输数据太长报错
python传输数据太长报错可以解决。解决方式:使用线上json格式转换排版,即可传输过长的数据。