摘要: 作业: 简单的主机批量管理工具 需求: 1. 主机分组; 2. 登陆后显示主机分组,选择分组后查看主机列表 3. 可以批量执行命令,发送文件,结果实时返回 4. 主机用户名密码可以不同 目录结构: ├── bin│ ├── host-manager.py│ └── __init__.py├── co 阅读全文
posted @ 2018-07-10 22:07 仙寓游子 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 信号量: 同一时间控制能并行执行的线程数: 释放一个,进去一个 threading.BoundedSemaphore() import threading, time def run(n): semaphore.acquire() print("running task...", n) time.s 阅读全文
posted @ 2018-07-10 21:59 仙寓游子 阅读(411) 评论(0) 推荐(0) 编辑
摘要: paramiko模块 1. 安装paramiko(windows和linux一样,执行执行即可) python3自带了pip3。直接使用pip3为python3安装paramiko。 如果使用pip install则是安装到python 2.7上。 pip3 install paramiko 2. 阅读全文
posted @ 2018-07-10 21:58 仙寓游子 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 多线程多进程: 进程和线程: 线程:是操作系统能够进行运算调度的最小单位,它被包含在进程值之中。 是进程中实际运作单位,一条线程指的是进程中一个单一顺序的控制流 一个进程可以并发多个线程,每个线程并行执行不同的任务 可以简单的理解为一推指令 进程:要以一个整体的形式暴露给操作系统管理,里面包含对各种 阅读全文
posted @ 2018-07-10 21:58 仙寓游子 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 作业:开发支持多用户在线FTP程序 要求: 用户加密认证; 允许同时多用户登陆; 每个用户有自己的家目录,且只能访问自己的家目录; 对用户进行磁盘配额,每个用户的可用空间不同; 允许用户在ftp server上随意切换目录; 允许用户查看当前目录下的文件; 允许上传和现在文件,保证文件一致性; 文件 阅读全文
posted @ 2018-07-10 21:55 仙寓游子 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 判断操作系统的三种方法: 1. sys.platform Windows操作系统: >>> sys.platform 'win32' Linux操作系统: >>> sys.platform 'linux' 2. os.name 它的返回值有两种: nt 和 posix 。 其中, nt 表示Wind 阅读全文
posted @ 2018-07-10 21:38 仙寓游子 阅读(1307) 评论(0) 推荐(0) 编辑
摘要: socketserver 一共有这么几个类: TCP: class socketserver.TCPServer(server_address, RequestHandlerClass,bind_and_activate=true) UDP: class socketserver.UDPServer 阅读全文
posted @ 2018-07-10 21:37 仙寓游子 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 动态导入模块: 1. 加入在lib目录下有aa.py 正常导入模块aa from lib import aa 现在的情况: modname = "aa" from lib import modname 是无法直接导入的,无法解析到modname 正确的方法: mod = __import__("li 阅读全文
posted @ 2018-07-10 21:35 仙寓游子 阅读(148) 评论(0) 推荐(0) 编辑
摘要: Socket 网络编程: socket 是对上层协议的封装; 发送端: import socket socket.TCP/IP connect(a.ip,port) socket.send("hello") socket.recv() socket.close() 接收端: import socke 阅读全文
posted @ 2018-07-10 21:33 仙寓游子 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 异常处理: 例1: data1 = {} data2 = []try: print(data2[1]) data1["name"]except KeyError as e: print("no key:", e)except IndexError as e: print("list index er 阅读全文
posted @ 2018-07-10 21:32 仙寓游子 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 类反射: 通过字符串映射或修改程序运行时的状态,属性,方法 有以下4个方法: 1. hasattr(obj, str) 判断obj对象是否存在str方法 2. getattr(obj, str) 获取obj对象的内存地址 3. setattr(obj, str_name, func_name) 将方 阅读全文
posted @ 2018-07-10 21:19 仙寓游子 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 类的特殊成员方法: 1. __doc__ #打印类的描述信息 class Dog(object): """this is document fot class Dog""" def __init__(self): pass; print(Dog.__doc__) 输出: this is docume 阅读全文
posted @ 2018-07-10 21:14 仙寓游子 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 多态: 一种接口多种形态; 作用,实现接口的重用 class Animal(object): def __init__(self, name): # Constructor of the class self.name = name def talk(self): # Abstract method 阅读全文
posted @ 2018-07-10 21:04 仙寓游子 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 经典类: class People:新式类: class People(object): 区别主要体现在多继承上构造函数顺序问题: python2: 经典类是按深度优先来继承的,新式类按广度优先来继承的 python3: 都是按照广度优先来继承 多继承: class People(object): 阅读全文
posted @ 2018-07-10 21:03 仙寓游子 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 面向对象: 1. 面向对象编程介绍; 2. 为什么要用面向对象进行开发 3. 面向对象的特性:封装,继承,多态, 4. 类,方法 面向对象1. 介绍: 编程: 程序员用特定的语法,数据结构,算法组成的代码告诉计算机如何执行任务的过程。 程序: 一个程序员为得到一个任务结果而编写的一组指令的集合; 编 阅读全文
posted @ 2018-07-10 20:49 仙寓游子 阅读(129) 评论(0) 推荐(0) 编辑