目录 python day 18 1. thinking in UML读书小感 2. FTP作业重写 2.1 软件目录结构 2.2 FTPClient端脚本 2.3 FTPServer端脚本 python day 18 2019/10/29 1. thinking in UML读书小感 这3天在看谭云杰的thinking in UML这本书,500多页的PDF扫描版,现在只看到279页,算是看完了一半,很多概念都是半懂不懂的,如在云山雾罩中一样.虽然看得不太明白,但是也有一些小感悟. 代码并不是…
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, OrderedDict time模块: 三种时间表示方法的转换 案例: 计算时间差 random模块: ① random.random() ② random.randint(1,5) ③ random.choice([1,'23',[4,5]]) ④ random.sample([1,'23',[4…
作业要求 0.实现用户登陆 1.实现上传和下载 3.每个用户都有自己的家目录,且只可以访问自己的家目录 4.对用户进行磁盘配额,每个用户的空间不同,超过配额不允许下载和上传 5.允许用户在指定的家目录随意切换目录 6.允许用户在自己的家目录切换目录 7.允许上传和下载文件,并判断文件的一致性 目前还未终稿,还在持续优化中 客户端核心代码 import socketimport osimport hashlibimport subprocessimport jsonimport time HOST…
FTP作业 本节内容: 面向对象高级语法部分 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 参考:http://www.cnblogs.com/wupeiqi/p/4766801.html metaclass 详解文章:http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python 得票最高那个答案写的非常好 Socket 编程 参考:http://www.cnblogs.co…
一.一个服务端连多个客户端的方法 1.服务端 import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self): while True: msg=self.request.recv(1024).decode('utf-8') info=input('>>>') self.request.send(1024)(info.encode('utf-8')) if __name__ == '…
一.昨日内容回顾 1.arp协议含义 2.子网,子网掩码 3.两台电脑在网络中怎么通信的? 4.tcp和udp socket编码 5.tcp和udp协议的区别 6.tcp三次握手和四次挥手,syn洪攻击,大量time-wait状态等 二.今日内容 1.认识下socket中的一些常见方法 服务器套接字函数 s.bind() s.listen(n) # 至少可以同时连接2个,至多n个 s.accept() 客户端套接字函数 s.connect() s.connect_ex() 公共用途的套接字函数…
Python window console 控制台 实现最后一行输出 print 重写 # -*- coding: utf-8-*- from __future__ import print_function # 必须在第一行,为了兼容 python 2 while True: print("Hi ", end="\r") time.sleep(1) print("Bob", end="\r") time.sleep(1) 在…
### 作者介绍:* author:lzl### 博客地址:* http://www.cnblogs.com/lianzhilei/p/5813986.html### 功能实现 作业:开发一个支持多用户在线的FTP程序 要求: 用户加密认证 允许同时多用户登录 每个用户有自己的家目录 ,且只能访问自己的家目录 对用户进行磁盘配额,每个用户的可用空间不同 允许用户在ftp server上随意切换目录 允许用户查看当前目录下文件 允许上传和下载文件,保证文件一致性 文件传输过程中显示进度条 附加功能…
一.组合 自定义类的对象作为另一个类的属性. class Teacher: def __init__(self,name,age): self.name = name self.age = age t1 = Teacher('Bob',20) print(type(t1.name), type(t1.age)) class Student: # 学生可以有 老师 属性 def __init__(self, name, age, teacher): self.name = name self.ag…
参考网上一个FTP程序,重写了一遍,并稍加扩展 一.要求 1. 支持多用户同时登录 2. 可以注册用户,密码使用md5加密 3. 可以登录已注册用户 4.  支持cd切换目录,ls查看目录子文件 5. 支持上传.下载文件 6. 可以执行命令,如:ipconfig 二.代码 配置文件 #!/usr/bin/env python # -*- coding:utf-8 -*- import os BASE_DIR = os.path.dirname(os.path.dirname(__file__))…