Python实现文件上传与下载_python file upload and download-程序员宅基地

技术标签: python  

import sys
import socket
import getopt
import time

upFileName = ""

#服务端涵数
def server_handle(port):
    #创建服务端套接字
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    #绑定IP和端口
    server.bind(('0.0.0.0', port))

    #监听
    server.listen(10)

    print("[*] Listening on 0.0.0.0:%d"%port)

    while True:
        client_socket, addr = server.accept()
        download_file(client_socket)

#客户端涵数
def client_handle(target, port):
    #创建socket连接
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client.connect((target, port))

    #将字符串文件名转成字节发送,socket套接字是要用byte传输
    client.send(upFileName.encode('utf-8'))
    time.sleep(1)
    upload_file(client)

    #传输完文件后关闭文件流
    client.close()

#文件下载涵数
def download_file(socket):
    #读取socket传过来的文件名数据
    fileName = socket.recv(1024)

    #因为socket传过来的是字节码,所以这里需要转成字符串
    fileName = fileName.decode()
    print("[*]Receive t
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/songling515010475/article/details/106409521

智能推荐

QNX screen使用介绍 第四章_qnx screen_set_window_property_iv-程序员宅基地

文章浏览阅读3.9k次。十、screen 剪辑缓冲区当根据需求只需要显示一个指定的区域时,如图所示,可以在一个大的缓冲区中剪辑一个特定的区域用于显示。注意,只能剪辑一个矩形设置窗口缓冲区和源尺寸 int src_size[2] = {1920, 720}; screen_set_window_property_iv(screen_window, SCREEN_PROPERTY_BUFFER_SIZE, src_size); screen_set_window_property_iv(scr.._qnx screen_set_window_property_iv

2.4G WLAN芯片 AR9341 学习笔记_ar9341芯片参数-程序员宅基地

文章浏览阅读7.8k次。【芯片概述】 AR9341是一款用于 2.4GHz 网络的 WLAN 平台芯片,CPU核为 MIPS 74Kc。芯片内置 MAC/PHY 模块,支持 20MHz/144Mbps 传输模式和 40MHz/300Mbps 传输模式,支持从 NOR flash 上启动。除此之外,AR9341还有很多其它内置模块,其系统框图如下:图1 AR9341系统框图 【Datashe_ar9341芯片参数

Waymo无人出租车加州上线一个月,日均156单,还有真·自动驾驶服务-程序员宅基地

文章浏览阅读380次。鱼羊 发自 凹非寺量子位 报道 | 公众号 QbitAIWaymo的RoboTaxi——无人驾驶出租进展怎么样,今天官方给出成绩单。Waymo向加州公共事业委员会(CPU...

三分-程序员宅基地

文章浏览阅读777次。知识点系列之---三分

【冰极峰教程系列之四】:九宫格应用案例--极酷网页播放器-程序员宅基地

文章浏览阅读83次。原创:冰极峰 转载请注明出处 时间:2009年6月29日 8:42:38冰极峰教程系列之一:九宫格基本布局冰极峰教程系列之二:牢不可破的九宫格布局冰极峰教程系列之三:三层分离的完美九宫格冰极峰教程系列之四:九宫格应用案例--极酷网页播放器冰极峰教程系列之五:无hack并支持透明圆角框的全兼容九宫格布局在前面的三篇系列文章中,我对九宫格布局作了详细的介绍。先..._html 9宫格播放器

php实现导出csv文件_php导出csv文件原理-程序员宅基地

文章浏览阅读246次。为何要用csv导出文件呢,因为它小巧,导出数据效率高,万行数据秒级导出。。。不香吗?定义csv文件<?php/** * User : 青草根 * Email : [email protected] * Blog : http://52qcg.cn * QQ : 876146977 * 微 信 : caimh0223 * Date : 2020-05-30 * Time : 14:._php导出csv文件原理

随便推点

四年级计算机教案模板,小学四年级下册信息技术教学设计 全册.doc-程序员宅基地

文章浏览阅读185次。小学四年级下册信息技术教学设计 全册PAGEPAGE 23小学信息技术教学设计(第一册)四 年级 信息技术 学科 设计者: 第 16 课时课题第16课 学习小助手——基本键的指法教学目标1、认识键盘结构、键盘的分区。2、掌握字母、符号的输入。3、让学生掌握记事本的使用。4、培养学生小组合作学习、协作学习的精神。5、结合本校实际,做好学生的环保教育。教材分析重..._小学教科版信息技术四年级下册 教学设计

动态规划-673. 最长递增子序列的个数-程序员宅基地

文章浏览阅读460次。题目描述:给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。注意: 给定的数组长度不超过 2000 并且结果一定是32位有符号整数。题目来源:673. 最长递增子序列的个数1.定义状态:记录最长长度dp[i]:到nu_递增子序列的个数

9.19-9.21-程序员宅基地

文章浏览阅读82次。6.SELECT *,base_salary+title_salary AS 应发工资,base_salary+title_salary-deduction AS 实发工资 FROM (department AS d INNER JOIN employee AS e ON d.`depid`=e.`depid`) INNER JOIN salary AS s ON e.`empid`=s.`empid`;7.SELECT * FROM employee WHERE employee.`NAME` LIK

RPA学习天地:来也 RPA高阶培训(一)产品基础架构_rpa培训材料-程序员宅基地

文章浏览阅读6.4k次。1.产品概述产品组成分为:Creator(设计器)、Worker(机器人)、Commander(控制平台)和Mage(AI平台)四个主要功能组件。分别为RPA机器人生产、执行、分配、智能化提供相应的工具和平台。Creator(设计器):采用中文可视化界面,同时支持拖拽式低代码或无代码的流程开发以及专业开发模式,支持一键录制流程并自动生成机器人。Worker(机器人):具备人机交互和无人值守两种模式,在人机交互模式下,通过人机协同的方式,完成桌面任务。在无人值守模式下,能够根据 UiBot Com_rpa培训材料

深度学习数据集整理百度云,持续更新!!!!_soda-d数据集下载-程序员宅基地

CASIA-WebFace 是一个脸部数据集,可用于深度学习。该数据集的下载链接为:https://pan.baidu.com/s/1O5QlCTkvkq3mR0lyfNOHuA 提取码:kko7。

腾讯云Elasticsearch集群多可用区容灾实现原理及最佳实践-程序员宅基地

文章浏览阅读895次。导语 | 为了进一步满足腾讯云 Elasticsearch 客户对服务稳定性、集群高可用性等容灾能力的要求。腾讯云 ES 产品提供了跨可用区部署的解决方案,本文将为大家介绍实现原理与实践..._elasticsearch集群如何做到灾备

推荐文章

热门文章

相关标签