文件处理客户端

Posted 0b0s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件处理客户端相关的知识,希望对你有一定的参考价值。

import socket,struct,json,os
DOWNLOAD_DIR=rD:python13期网络编程文件处理DOWNLOAD
class FtpClient:
    def __init__(self,host,port):
        self.host=host
        self.port=port
        self.client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        self.client.connect((self.host,self.port))
    def interactive(self):
        while True:
            data=input(>>:).strip()
            if not data:continue
            params=data.split()
            cmd=params[0]
            if hasattr(self,cmd):
                func=getattr(self,cmd)
                func(params)
    def get(self,params):
        params_json=json.dumps(params)
        self.client.send(params_json.encode(utf-8))
        headers_size = struct.unpack(i, self.client.recv(4))[0]
        headers_bytes = self.client.recv(headers_size)
        headers_json = headers_bytes.decode(utf-8)
        headers_dic = json.loads(headers_json)
        print(>>:, headers_dic)
        filename=headers_dic[filename]
        filesize=headers_dic[file_size]
        filepath=os.path.join(DOWNLOAD_DIR,filename)
        with open(filepath,wb)as f:
            recv_size = 0
            while recv_size < filesize:
                line=self.client.recv(1024)
                recv_size += len(line)
                f.write(line)
            print(>>:下载成功)
if __name__ == __main__:
    client=FtpClient(127.1.2.3,8999)
    client.interactive()

以上是关于文件处理客户端的主要内容,如果未能解决你的问题,请参考以下文章

HTTP客户端代码片段

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

常用python日期日志获取内容循环的代码片段

jsp执行过程图解

处理屏幕旋转上的片段重复(带有示例代码)

在 Python 多处理进程中运行较慢的 OpenCV 代码片段