zoukankan      html  css  js  c++  java
  • socket练习:FTP

    FTP 练习收获:

    1,类型转换

    bec33b46-3fd5-4049-9f7c-f1f508ea9d0c[4]

    2,进度条实现:

    0bd29a82-5d55-4946-83a5-ecc69e94a438[3]

    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序列化存储注意事项:

    86811f2e-ced8-4ba3-bb8d-a318959a545d[3]

    5,此步非常有用

    36018fb0-ba6d-4a4f-831a-39ac843e46a3[3]

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

    38cd13cd-adc9-4786-b99c-3c09d5ab7b9f[3]

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

    a44e1385-20ca-4426-8402-9fc94a077084[3]

    不错的博客地址: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

    c7130159-3366-4ddd-9a65-f73ba270424f[3]

    实例:

    服务端 :

    5c29962b-1a0a-4598-9039-7156e3bcb75c[3]

    客户端:

    8376b0d0-f712-40e3-895d-2fb93fc16f4e[3]

    10,常用模块类型

    10306dbc-58e9-4d00-befe-73d399bcfde2[3]

    13beb221-387b-42d4-b571-23440bc5c8e7[3]

    82550240-d70a-49b0-875e-23ddceba9977[3]

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

    b8097f0d-e1d0-4464-b451-f1492b6fd383[3]

    或者:

    688aceed-bc0a-447f-b8ad-08caa70f5483[3]

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

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

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

    fa3629a5-643f-4dd0-9b99-16767090c194[3]

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

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

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

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

    af4f2828-eab7-4e09-aef5-b1ace161f2d2[3]

    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
    4e8e1ee8-eb4f-456c-a16c-44faed68a693[3]

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

    17. 获取当前路径path 的上级目录 注意:path是路径,不可以是绝对路径带文件名
    os.path.dirname(path)   返回文件路径
    70ababe8-ea31-41f2-9bf9-4c5b2ad8226c[3]

    18.计算文件夹大小
    http://www.oschina.net/code/snippet_247498_49000 
    19e6036f-98b9-4b89-b004-603ba2a157cc[3]
    另一种方法:
    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+' 文件大小:%s' %(getFileSize(float(fileSize)))  
    38. sort(FOLDER_LIST,1)  
    39. print '*********************排序后*********************'
    40. for arr in FOLDER_LIST:  
    41. print arr[0]+' 文件大小:%s' %(getFileSize(float(arr[1])))  
    42. print '---------------------------------------------------------'
    43. os.system('pause') 
     
    18,进度条
    牛人 https://github.com/tqdm/tqdm
    6265369b-06e3-4a80-afe5-c7f40ec4b713[3]

    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项目地址:待补充

  • 相关阅读:
    面向对象 课堂记录
    面向对象10个案例 (来源网络)
    面向对象举例
    面向对象
    36选7
    Android ImageView的scaleType属性与adjustViewBounds属性
    安卓计算器 简单代码
    安卓单选、复选按钮简单练习
    安卓发送邮箱界面 线形、表格、相对布局方式
    UI和View 三种控制方式
  • 原文地址:https://www.cnblogs.com/hellojesson/p/5953042.html
Copyright © 2011-2022 走看看