码迷,mamicode.com
首页 > Web开发 > 详细

socket实现文件的上传

时间:2019-10-22 13:25:06      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:down   获取   filename   文件的   print   字典序   功能   socket   nec   

#-------server层
import socket
import json
sk=socket.socket()
sk.bind((10.70.2.143,8080))
sk.listen()
conn,addr=sk.accept()
#通信
str_dic=conn.recv(9090).decode(utf-8)
#将字符串形式反序列化为字典
dic=json.loads(str_dic)
if dic[opt]==upload:
    filename=1+dic[filename]
    with open (filename,w,encoding=utf-8) as f:
        f.write(dic[content])
if dic[opt]==download:
    pass
conn.close()
sk.close()



#-------client层
import socket
import os
import json
sk=socket.socket()
sk.connect((10.70.2.143,8080))
menu={1:upload,2:download}
for k,v in menu.items():
    print(k,v)
num=input("请输入功能选项:")
if num==1:
    #上传功能
    #(功能,文件名,文件路径)
    dic={opt:menu[num],filename:None,content:None}
    file_path=input("请输入需要上传的文件路径")
    #D:\Pygametest\scrapyTest\socket_file_test.py
    #获取路径的文件名
    filename=os.path.basename(file_path)
    #获取路径的文件内容
    with open(file_path,r,encoding=utf-8) as f:
        content=f.read()
    dic[filename]=filename
    dic[content]=content
    #将字典序列化为字符串的形式
    str_dic=json.dumps(dic)
    #传给服务器
    sk.send(str_dic.encode(utf-8))

if num==2:
    pass
sk.close()

 

socket实现文件的上传

标签:down   获取   filename   文件的   print   字典序   功能   socket   nec   

原文地址:https://www.cnblogs.com/god-for-speed/p/11719023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!