python socket通信编程实现文件上传代码实例
这篇文章主要介绍了python socket通信编程实现文件上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
写一个file_receive.py和一个file_send.py程序,由file_send.py上传一个文件,file_receive.py接收上传的文件,写到指定的包内
#file_receive.py import socket,subprocess,os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) sk = socket.socket() address = ('127.0.0.1',8001) sk.bind(address) sk.listen(3) conn,addr = sk.accept() fileinfo = conn.recv(1024) filename,filesize = str(fileinfo,'utf8').split('|') #filename = str(filename,'utf8') #filesize = int(str(filesize,'utf8')) path = os.path.join(BASE_DIR,'file_recv',filename) f = open(path,'wb') has_received = 0 while has_received != int(filesize): data = conn.recv(1024) f.write(data) has_received += len(data) f.close() print('well done') sk.close()
#file_send.py import socket,os BASE_DIR = os.path.dirname(os.path.abspath(__file__)) sk = socket.socket() address = ('127.0.0.1',8001) sk.connect(address) filename = input("please input filename:") path = os.path.join(BASE_DIR,filename) filesize = os.stat(path).st_size fileinfo = '%s|%s'%(filename,str(filesize)) sk.sendall(bytes(fileinfo,'utf8')) f = open(path,'rb') has_sent = 0 while has_sent != int(filesize): data = f.read(1024) sk.sendall(data) has_sent += len(data) print('well done!') f.close() sk.close()
文件运行后,实现了将file_send.py上传的test.png文件上传到当前路径下的file_recv包内.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python网络编程使用select实现socket全双工异步通信功能示例
本文实例讲述了Python网络编程使用select实现socket全双工异步通信功能.分享给大家供大家参考,具体如下: 在前面一篇<Python网络编程之TCP套接字简单用法>中,我们实现了tcp客户端与服务器的通信,但是功能十分局限,发送消息与接收消息不能同时进行. 接下来我将通过select这个模块,来实现全双工通信(随时可以接收信息以及发送信息),当然,用多线程也可以完成,这是后话. 那么,select为何物? select -在单线程网络服务中器程序中,管理多个套接字连接 selec
-
python实现简单socket通信的方法
本文实例讲述了python实现简单socket通信的方法.分享给大家供大家参考,具体如下: 刚刚开始接触python,实现了一个helloworld程序---关于udp协议的socket通信demo. 首先服务端这边的实现如下: import socket, traceback host = '' # Bind to all interfaces port = 51500 # Step1: 创建socket对象 s = socket.socket(socket.AF_INET, socket.S
-
Python基于socket模块实现UDP通信功能示例
本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端 import socket #使用IPV4协议,使用UDP协议传输数据 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口和端口号,空字符串表示本机任何可用IP地址 s.bind(('', 5000)) while True: data, addr=s.recvfrom(1024) #显示接收到的内容 print(
-
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞通信. 首先,先了解下SocketServer模块中可供使用的类: BaseServer:包含服务器的核心功能与混合(mix-in)类挂钩:这个类只用于派生,所以不会生成这个类的实例:可以考虑使用TCPServer和UDPServer. TCPServer/UDPServer:基本的网络同步TCP/UDP服务器. UnixStreamServer/ UnixDatagramServer:基本的基于文件同步TCP/UDP服务器.
-
结合Python的SimpleHTTPServer源码来解析socket通信
何谓socket 计算机,顾名思义即是用来做计算.因而也需要输入和输出,输入需要计算的条件,输出计算结果.这些输入输出可以抽象为I/O(input output). Unix的计算机处理IO是通过文件的抽象.计算机不同的进程之间也有输入输出,也就是通信.因此这这个通信也是通过文件的抽象文件描述符来进行. 在同一台计算机,进程之间可以这样通信,如果是不同的计算机呢?网络上不同的计算机,也可以通信,那么就得使用网络套接字(socket).socket就是在不同计算机之间进行通信的一个抽象.他工作于T
-
php实现与python进行socket通信的方法示例
本文实例讲述了php实现与python进行socket通信的方法.分享给大家供大家参考,具体如下: 设计目的 通过前端页面发起请求交给php,php创建socket请求交给Python脚本,然后执行完毕之后,返回给前端. index.html <html> <head> <title>test</title> <script> g_xmlHttpReq = new XMLHttpRequest(); function onReplyCallbac
-
Python socket实现的简单通信功能示例
本文实例讲述了Python socket实现的简单通信功能.分享给大家供大家参考,具体如下: 套接字(socket)是计算机网络数据结构,在任何类型的通信开始之前,网络应用程序必须创建套接字,可以将其比作电话的插孔,没有它将无法进行通信 常用的地址家族 AF_UNIX:基于文件,实现同一主机不同进程之间的通信 AF_INET:基于网络,适用于IPv4 AF_INET6:基于网络,使用于IPv6 常见的连接类型 SOCK_STREAM:即TCP/IP.面向连接的套接字,通信之前必须建立可靠的连接.
-
Python通过websocket与js客户端通信示例分析
具体的 websocket 介绍可见 http://zh.wikipedia.org/wiki/WebSocket 这里,介绍如何使用 Python 与前端 js 进行通信. websocket 使用 HTTP 协议完成握手之后,不通过 HTTP 直接进行 websocket 通信. 于是,使用 websocket 大致两个步骤:使用 HTTP 握手,通信. js 处理 websocket 要使用 ws 模块: Python 处理则使用 socket 模块建立 TCP 连接即可,比一般的 soc
-
Python socket网络编程TCP/IP服务器与客户端通信
Python socket网络编程 初学 python,前段时间买了两本书<python 编程从入门到实践><Python 核心编程第三版>,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧....... 这部分主要使用的模块就是 socket 模块,在这个模块中可以找到 socket()函数,该函数用于创建套接字对象
-
python socket通信编程实现文件上传代码实例
这篇文章主要介绍了python socket通信编程实现文件上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 写一个file_receive.py和一个file_send.py程序,由file_send.py上传一个文件,file_receive.py接收上传的文件,写到指定的包内 #file_receive.py import socket,subprocess,os BASE_DIR = os.path.dirname(os.pa
-
springboot多文件上传代码实例及解析
这篇文章主要介绍了springboot多文件上传代码实例及解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一说明 spingMVC支持文件上传,我们通过Apach 的 commons-fileupload 包的CommonsMultipartResolver 去实现了 spingMVC的MultipartResolver . 本文章的示例是个简单的多文件上传,根据不同的业务自行修改. 二pom.xlm <dependencies> <
-
SpringMVC KindEditor在线编辑器之文件上传代码实例
最近几个项目都要用到在线编辑器,由于之前做在线编辑器都只在php上,对于用java尤其是springmvc框架时,似乎并不如PHP那么简单,搜集了很多博文和资料,全部都不能达到效果,最后在参考各种资料后,自己花时间写了一个上传图片的控制器,亲测保证能用. 1.图片上传控制器 package com.xishan.yueke.view.system; import java.io.File; import java.io.IOException; import java.io.PrintWrite
-
php+ajax 文件上传代码实例
本文实例为大家分享了php+ajax 文件上传的具体代码,供大家参考,具体内容如下 html 代码 <form action="{pboot:form fcode=8}" method="post" id="t" enctype="multipart/form-data"> <input type="file" name='tables_a' id="tables" o
-
Jax-rs规范REST接口文件上传代码实例
使用jax-rs规范,需要引入spring-boot-starter-jersey包,用于支撑@Path,@GET等jax-rs注解,使用jax-rs规范上传文件,需要引入jersey-media-multipart包,用于支撑@FormDataParam,FormDataContentDisposition <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jers
-
Java Socket+mysql实现简易文件上传器的代码
最近跟着某网站学习了一个小项目,因为白天有课,所以都是晚上写的,今天把它完成了. 项目主要是实现一个文件上传器,通过客户端的登陆,把本地文件上传到服务器的数据库(本地的). 首先建两个表如下: 一个文件信息表 CREATE TABLE `fileinfo` ( `Fname` char(50) NOT NULL, `FInfo` blob NOT NULL, `FId` int(10) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`FId`) ) ENGINE=I
-
python 基于selectors库实现文件上传与下载
server.py import selectors import socket import os import time BASE_DIR =os.path.abspath(os.path.dirname(__file__)) class selectFtpserver: def __init__(self): self.dic = {} # 创建空字典 self.hasReceived = 0 self.hasSend=0 self.sel = selectors.DefaultSelec
-
Python Django框架单元测试之文件上传测试示例
本文实例讲述了Python Django框架单元测试之文件上传测试.分享给大家供大家参考,具体如下: Submitting files is a special case. To POST a file, you need only provide the file field name as a key, and a file handle to the file you wish to upload as a value. For example: >>> c = Client()
-
Python爬虫中Selenium实现文件上传
前言:大部分的文件上传功能都是用input标签实现,这样就完全可以把它看作一个输入框,可以通过send_keys()指定文件进行上传了. 本章中用到的关键方法如下: send_keys():上传文件或者输入文本 from selenium import webdriver import time driver = webdriver.Chrome() driver.get('http://file.yiyuen.com/file/') # 定位上传按钮,添加本地文件 driver.find_el
-
PHP封装的多文件上传类实例与用法详解
本文实例讲述了PHP封装的多文件上传类实例与用法.分享给大家供大家参考,具体如下: <?php /**//* * @(#)UploadFile.php * * 可同时处理用户多个上传文件.效验文件有效性后存储至指定目录. * 可返回上传文件的相关有用信息供其它程序使用.(如文件名.类型.大小.保存路径) * 使用方法请见本类底部(UploadFile类使用注释)信息. * */ class UploadFile { var $user_post_file = array(); //用户上传的文件
随机推荐
- 解析Oracle 8i/9i的计划稳定性
- Three.js快速入门教程
- PHP 正则表达式后面接的/isU, /is, /s含义
- js实现无缝滚动图
- JQuery+JS实现仿百度搜索结果中关键字变色效果
- php中使用Ajax时出现Error(c00ce56e)的详细解决方案
- 从Android源码剖析Intent查询匹配的实现
- Android选择图片或视频进行循环播放
- 多浏览器兼容的qq图片轮换效果javascript代码
- JQuery实现简单的图片滑动切换特效
- jQuery:节点(插入,复制,替换,删除)操作
- SQL语句的基本语法
- Ghost的另类用法
- Java中Math类常用方法代码详解
- JAVA实现基于Tcp协议的简单Socket通信实例
- Python中模块与包有相同名字的处理方法
- js实现简单的左右两边固定广告效果实例
- CentOS 配置无密码登录的实现
- 用Eclipse写python程序
- Java利用三目运算符比较三个数字的大小