FTP 练习收获:

1,类型转换

2,进度条实现:

3,print 输出不换行的方法:

print输出 不换行的方法:

方法一:

  1. import sys  
  2. sys.stdout.write("go ")  
  3. sys.stdout.write("home")  
  4. sys.stdout.flush()

方法二:函数方式调用print函数

  1. from __future__ import print_function  
  2. print('go ', end='')  
  3. print('home', end='')

方法三:

  1. print 'go',   
  2. print 'home'

    来源: http://heipark.iteye.com/blog/2231545

4,pickle序列化存储注意事项:

5,此步非常有用

6 ,数据传输的时候 遇到的问题 sendall

7 ,MD5 加密  :即摘要算法又称为哈希算法,散列算法。它通过一个函数,把任意长度的数据转换为一个长度固顶的数据串(通常用16进制的字符串表示)用于加密相关的操作。

不错的博客地址:http://www.cnblogs.com/wang-yc/p/5616663.html

8,socket服务连接报错:“由于目标机器积极拒绝,无法连接.(10061),”

可能的原因是:1.服务器地址不正确 或者 端口号不对。

2.服务端服务没有正常启动。服务器没启动socket

9,列表与字符串相互转换  socket网络传输的时候以bytes类型 转bytes的前提是数据为str

http://jingyan.baidu.com/article/8cdccae997854e315413cdff.html

实例:

服务端 :

客户端:

10,常用模块类型

11,从其他路径导入模块:

或者:

12 计算文件夹 即目录的大小 单位是字节

牛人测试地址:http://www.cnblogs.com/herbert/archive/2013/01/07/2848892.html

http://alanland.iteye.com/blog/612459

13.文件传输的时候 sk.recv(1024) 是多大?

首先文件传输的时候,数据类型是bytes类型,即字节类型

这里(1024)表示一次最大接收1024个字节

1024字节就是1024byte,即1kb。

http://zhidao.baidu.com/link?url=rSyf5oEtxXWl2vB-rVWvBwWLlQPmkWTFzEZk1L51LmDOddDmZeRFKJubh3tvhM4UWtEV-wQrJT1oX6fR83SYxK

14 ,python 删除非空文件夹 或者目录

调用shutil模块

import shutil
shutil.rmtree('c:\\test')
print 'ok'

15 ,获取当前脚本的运行启动目录
http://www.cnblogs.com/nzbbody/archive/2013/11/12/3419473.html


16,获取当前文件的绝对路径
os.path.dirname(os.path.abspath('__file__'))

17. 获取当前路径path 的上级目录 注意:path是路径,不可以是绝对路径带文件名
os.path.dirname(path)   返回文件路径


18.计算文件夹大小
http://www.oschina.net/code/snippet_247498_49000 

另一种方法:
http://blog.csdn.net/wiker_yong/article/details/13109383
  1. #!/usr/bin/python

  2. #-*- coding:gbk -*-
  3. import urllib2  
  4. import urllib  
  5. import os  
  6. import shutil  
  7. homedir = os.getcwd()  
  8. from os.path import join, getsize  
  9. '''''

  10. 获取当前文件夹,和文件夹大小
  11. 放在要统计的文件夹下
  12. '''
  13. FOLDER_LIST=[]  
  14. def getdirsize(dir):    
  15. size = 0L

  16. for root, dirs, files in os.walk(dir):    
  17. size += sum([getsize(join(root, name)) for name in files])    
  18. return size  
  19. def getFileSize(size):  
  20. if size/1024>1:  
  21. if size/(1024*1024)>1:  
  22. return '%0.2fMB' %float(size/(1024*1024))  
  23. else:  
  24. return '%0.2fKB' %float(size/1024)  
  25. else:  
  26. return '%0.2fKB' %float(size/1024)  
  27. def sort(A,num):  
  28. for i in range(len(A)):  
  29. (A[i][0],A[i][num])=(A[i][num],A[i][0])  
  30. A.sort(reverse=True)  
  31. for i in range(len(A)):  
  32. (A[i][0],A[i][num])=(A[i][num],A[i][0])  
  33. for i in os.listdir('.'):  
  34. if os.path.isdir(i):  
  35. fileSize = getdirsize(unicode(homedir+'\\'+i,'gbk'))  
  36. FOLDER_LIST.append([homedir+'\\'+i,fileSize])  
  37. print homedir+'\\'+i+'\t文件大小:%s' %(getFileSize(float(fileSize)))  
  38. sort(FOLDER_LIST,1)  
  39. print '*********************排序后*********************'

  40. for arr in FOLDER_LIST:  
  41. print arr[0]+'\t文件大小:%s' %(getFileSize(float(arr[1])))  
  42. print '---------------------------------------------------------'

  43. os.system('pause')
 
18,进度条
牛人 https://github.com/tqdm/tqdm


20,os.mkdir 和 os.makedirs 区别

1.mkdir( path [,mode] )
      作用:创建一个目录,可以是相对或者绝对路径,mode的默认模式是0777。
      如果目录有多级,则创建最后一级。如果最后一级目录的上级目录有不存在的,则会抛出一个OSError。 2.makedirs( path [,mode] )
      作用: 创建递归的目录树,可以是相对或者绝对路径,mode的默认模式也是0777。
      如果子目录创建失败或者已经存在,会抛出一个OSError的异常,Windows上Error 183即为目录已经存在的异常错误。如果path只有一级,与mkdir一样。
来源: http://www.2cto.com/kf/201207/144150.html Github项目地址:待补充

socket练习:FTP的更多相关文章

  1. C#通过socket判断FTP服务器是否通畅并判断用户名密码是否正确

    private static ManualResetEvent timeoutObject; private static Socket socket = null; private static b ...

  2. TCP/UDP,SOCKET,HTTP,FTP 简析

    (一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...

  3. socket实现ftp上传下载

    socket实现ftp文件的上传和下载 server端代码: import socket import json import struct import os soc = socket.socket ...

  4. day34 异常处理、断言、socket之ftp协议

    Python之路,Day20 = 异常处理.断言.socket之ftp协议 参考博客:http://www.cnblogs.com/metianzing/articles/7148191.html 异 ...

  5. [原创]python之socket-ftp

    今天来讲讲ftp文件下载,感觉挺有趣的,知道吧,就那种看到新文件生成,而自己写的代码也不多,那种成就感! 一.需求: 客户端发送指令给服务端,服务端根据指令找到相应文件,发送给客户端 分析: PS:e ...

  6. 使用socket实现FTP程序

    #-*- coding:utf-8 -*- import socketserver from module import * class server: def __init__(self,reque ...

  7. socket实现FTP上传下载功能

    '''服务器端''' 1 _author__ = "Dbass" import socketserver import json,os class MyTCPHandler(soc ...

  8. Python:socket实现ftp程序

    刚开始学习socket编程,还不是特熟练,码了好长时间,中间遇到许多问题,记录一下用socketserver写ftp server端: #!/usr/bin/env python import soc ...

  9. 理解TCP/IP,SOCKET,HTTP,FTP,RMI,RPC,webservic

    TCP/IP:网络宽带,传输数据的基础协议,所有得数据要在网络上传输都是基于TCP/IP协议(或UDP),才能送达到指定的目的地(IP,服务器硬件地址). SOCKET:SOCKET只是面对编程人员的 ...

  10. Socket 多线程FTP软件开发

    Socket具体还可见360云中文档记载 Socket是一个非常古老的协议了 1970年 Socket.AF_Unix======AF意思是  addressFamily 地址簇 Import os ...

随机推荐

  1. ac自动机板子

    hdu2222 #include<bits/stdc++.h> #define ll long long #define M 500005 using namespace std; int ...

  2. pyinstaller基本操作

    pyinstaller 打包错误http://www.fmwei.com/linux/pyinstaller-lib-error.html 只需要复制python安装目录下的动态库到系统地动态库目录即 ...

  3. jquery实现图片上传前本地预览功能

    HTML <img id="pic" src="" > <input id="upload" name="fil ...

  4. Altera PLL应用中注意的问题

    无论是差分转单端信号还是单端信号转差分信号,都要都要用到altiobuf.而且在pin planner中要设置管脚的标准为差分的 而且要注意管脚的正负极性. 今天用FPGA做测试:把专门用于PLL的输 ...

  5. Web墨卡托坐标与WGS84坐标互转

    原文地址:http://bbs.esrichina-bj.cn/ESRI/thread-78245-1-1.html 在WebGIS的开发中经常用到的地图投影为Web墨卡托和WGS84,故歌地图,bi ...

  6. 723 if while for

    if == 如果 程序结构分为三种 顺序结构 程序按照从上往下的顺序依次执行 分支结构 程序根据某种条件选择要执行的代码 循环结构 可以使代码重复的结构 需求如果温度高于30就开空调 while fo ...

  7. memcache和redis本质区别在哪里?

    转自:http://www.dewen.org/q/971/memcache%E5%92%8Credis%E6%9C%AC%E8%B4%A8%E5%8C%BA%E5%88%AB%E5%9C%A8%E5 ...

  8. QT中的线程与事件循环理解(2)

    1. Qt多线程与Qobject的关系 每一个 Qt 应用程序至少有一个事件循环,就是调用了QCoreApplication::exec()的那个事件循环.不过,QThread也可以开启事件循环.只不 ...

  9. SRM483

    250pt 题意:给定一个[0,1)间的实数,一个分母不超过maxDen的分数逼近.. 思路:直接枚举.然后判断. code: #line 7 "BestApproximationDiv1. ...

  10. CSS 基础 例子 背景色 & 背景图片

    背景简写形式 : body {background:#ffffff url('img_tree.png') no-repeat right top;} 一.背景色  background-color ...