python——基础篇-简易文件上传

Posted zzzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python——基础篇-简易文件上传相关的知识,希望对你有一定的参考价值。

post_server

import socket
import os
sk=socket.socket()
address=(127.0.0.1,8000)
sk.bind(address)
sk.listen(3)
print(waiting...)
BASE_DIR=os.path.dirname(os.path.abspath(__file__))

while 1:
    conn,addr=sk.accept()
    while 1:
        data=conn.recv(1024)
        cmd,filename,filesize=str(data,utf-8).split(|)
        path=os.path.join(BASE_DIR,post,filename)
        filesize=int(filesize)

        f=open(path,ab)
        has_receive=0
        while has_receive!=filesize:
            data=conn.recv(1024)
            f.write(data)
            has_receive+=len(data)
        f.close()

 

post_client:

import socket
import os
sk=socket.socket()
address=(127.0.0.1,8000)

sk.connect(address)

BASE_DIR=os.path.dirname(os.path.abspath(__file__))


while True:
    inp=input(>>>).strip()

    cmd,path=inp.split(|)

    path = os.path.join(BASE_DIR,path)

    filename = os.path.basename(path)

    file_size = os.stat(path).st_size

    file_info = post|%s|%s %(filename,file_size)

    sk.sendall(bytes(file_info, utf-8))

    f=open(path, rb)
    data = f.read(1024)
    has_sent = 0
    while has_sent!=file_size:
        data = f.read(1024)
        sk.sendall(data)
        has_sent += len(data)


f.close()
print(上传成功)

 

以上是关于python——基础篇-简易文件上传的主要内容,如果未能解决你的问题,请参考以下文章

使用python来搭建一个简易的文件下载环境以及用droopy来实现一个文件上传环境

python3之Django基础篇

Android Studio学习第一篇制作一个拥有登录和注册功能的简易APP

Android实战简易教程-第二十八枪(基于Bmob实现头像图片设置和网络上传功能!)

简易远程文件上传

python快速搭建简易的FTP服务器