python 上传下载文件
server.py #!/usr/bin/env python
# -*- coding:utf- -*-
import SocketServer
import os class MySocketServer(SocketServer.BaseRequestHandler): def handle(self):
filename_dir = '/home/feng/feng'
conn = self.request
data = conn.recv()
filename,filename_size = data.strip().split('|') print filename,filename_size recv_size = file_dir=os.path.join(filename_dir,filename) f = open(file_dir,'w+') while True:
if int(filename_size) != recv_size :
data = conn.recv()
recv_size += len(data)
print int(filename_size),recv_size
f.write(data)
else:
break
# else:
# data = conn.recv(int(filename_size) - recv_size)
# print int(filename_size) - recv_size
# break
print 'upload successed.......' if __name__ == '__main__':
ip_port = ('127.0.0.1',)
server = SocketServer.ThreadingTCPServer(ip_port,MySocketServer)
server.serve_forever() =======================================
client.py
#!/usr/bin/env python
# -*- coding:utf- -*-
import socket
import os client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip_port = ('127.0.0.1',)
client.connect(ip_port) while True:
filepath = raw_input('请输入方法和上传路径:/root/1.txt: ')
filename_size = os.stat(filepath).st_size
filename = os.path.basename(filepath) print '#####################'
print filepath,filename_size
print '#####################' client.send(filename + '|' + str(filename_size))
send_size = f = open(filepath,'r') Flag = True
while Flag:
if filename_size != send_size:
data = f.read()
send_size += len(data)
client.send(data)
else:
Flag=False
f.close()
client.close()
python 上传下载文件的更多相关文章
- windows上python上传下载文件到linux服务器指定路径【转】
		
从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...
 - python实现socket上传下载文件-进度条显示
		
在python的socket编程中,可以实现上传下载文件,并且在下载的时候,显示进度条,具体的流程如下图所示: 1. 服务器端代码如下: [root@python 519]# cat server.p ...
 - 初级版python登录验证,上传下载文件加MD5文件校验
		
服务器端程序 import socket import json import struct import hashlib import os def md5_code(usr, pwd): ret ...
 - rz和sz上传下载文件工具lrzsz
		
######################### rz和sz上传下载文件工具lrzsz ####################################################### ...
 - linux上很方便的上传下载文件工具rz和sz
		
linux上很方便的上传下载文件工具rz和sz(本文适合linux入门的朋友) ##########################################################&l ...
 - shell通过ftp实现上传/下载文件
		
直接代码,shell文件名为testFtptool.sh: #!/bin/bash ########################################################## ...
 - SFTP远程连接服务器上传下载文件-qt4.8.0-vs2010编译器-项目实例
		
本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,Qt4.8.0版本,vs2010编译器 qt4.8.0-vs2010编译器项目实例下载地址:CSD ...
 - linux下常用FTP命令 上传下载文件【转】
		
1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...
 - C#实现http协议支持上传下载文件的GET、POST请求
		
C#实现http协议支持上传下载文件的GET.POST请求using System; using System.Collections.Generic; using System.Text; usin ...
 
随机推荐
- ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data...
			
ibatis动态sql配置启动时提示:The content of elements must consist of well-formed character data... 2012-07-18 ...
 - Apache Spark源码走读之2 -- Job的提交与运行
			
欢迎转载,转载请注明出处,徽沪一郎. 概要 本文以wordCount为例,详细说明spark创建和运行job的过程,重点是在进程及线程的创建. 实验环境搭建 在进行后续操作前,确保下列条件已满足. 下 ...
 - BNF 巴科斯范式
			
BNF 巴科斯范式(BNF: Backus-Naur Form 的缩写)是由 John Backus 和 Peter Naur 首先引入的用来描述计算机语言语法的符号集.现在,几乎每一位新编程语言书籍 ...
 - MySQL 创建用户 与 授权
			
例,需要给 121.52.215.100 连接添加一个用户 dee,密码是 123456,他只能对数据库 vshop 有 select 权限: CREATE USER '; GRANT SELECT ...
 - Web 在线文件管理器学习笔记与总结(6)jQuery UI 预览图片
			
① 查看文件内容,如果文件是图片类型,点击直接查看图片: ② 如果不是图片类型,显示文件中的内容: ③ 使用 jQuery UI 中的 Dialog 显示图片 a.引入: <script src ...
 - Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)
			
主要函数: filetype() 判断文件类型 filesize() 得到文件大小(字节) is_readable() 判断文件是否可读 is_writeable() 判断文件是否可写 is_exec ...
 - eclipse中的项目Java build path (Java创建路径)详解
			
1.Source标签页,指定本工程的源码目录和输出目录.Projects标签页,指定本工程所依赖的其他工程.Libraries标签页,指定本工程所需的jar包和class目录等.Order And E ...
 - python 调用系统命令
			
Python执行系统命令一般的用到了四种方法, 第一种是 os.system(), 这个方法比较常用, 使用也简单, 会自动的生成一个进程,在进程完成后会自动退出, 需要注意的是 os.system ...
 - 【翻译】CEDEC2014跨世代多平台并行开发PS4版如龙维新开发的一年
			
本篇PPT讲述的是如龙4的开发过程中,集中在PS3和PS4并行开发中所遇到和解决的一些问题.如64位指针,DX9向DX11移植API的问题,以及在PS4上使用并行渲染在1080P下让FPS达到60等. ...
 - pdo封装类
			
<?php //http://www.imavex.com/php-pdo-wrapper-class/ class db extends PDO { private $error; priva ...