1周第1天 主要是变量的学习(11月8日)
1.1 python安装(win和linux下)
1.2 ipython安装及使用
1.3 变量的定义
1.4 变量赋值
1.5 运算符(赋值、算术、关系、逻辑)
1.6 表达式
相关练习:1) 写一个四则运算器,要求从键盘读取数字 2) 体会input()与raw_input()区别
扩展知识:十进与十六进制互相转换、十进制与字符串互相转换,int()、hex()、str()
1周第2天 数据类型(11月9日)
1.1 数值类型(整型、长整型、浮点型、复数型)
1.2 序列之字符串类型(引号的使用、下标与切片)
1.3 序列之元组
1.4 序列之列表(增、删、改、查及一些方法,体会对象的方法)
1.5 获得帮助
1.5.1 ipython下使用help命令获得帮助信息
1.5.2 https://docs.python.org/2/library1.6 相关练习:1)字符串转换成列表---list()函数 2)列表转换成字符串---字符串的join()方法扩展知识:去掉列表里的重复元素,体会set()的使用
1周第3天 字典学习(11月10日)
说明:2.9和3.0两节安排在前面学习
1.8 字典
1.9 字典练习
2.9 数据类型转换(计算mac地址)
3.0 数据类型转换(列表与字典相互转换)
知识扩展:把2个列表存到一个字典里,其中一个列表的各个元素分别作为字典的key,另一个列表的各个元素作为字典的value。掌握dict()函数的使用
1周第4天 流程控制(11月11日)
2.0/2.1 流程控制 - if条件
2.2 流程控制 - for序列
2.3 流程控制 - for字典
2.4 循环退出
相关练习:打印乘法口诀表
1周第5天 流程控制第二部分(11月12日)
说明:周六本不应该安排任务,但是为了对应好周,额外给大家安排一天任务。
2.5 流程控制 - while
2.6 使用for循环遍历文件
2.7 使用while循环遍历文件
2.8 统计系统剩余内存
相关练习:统计系统的free的内存
扩展练习:统计apache进程所占的内存及百分比
2周第1天 函数(11月14日)
1.1 函数定义
1.2 函数参数
1.3 函数默认参数
1.4 函数的变量
1.5 函数返回值
1.6 多类型传值和冗余参数
相关练习:1) 判断一个字符串是纯数字,使用函数 2) 使用字符串的isdigit()方法改造上面的例子
2周第2天 函数第二部分(11月15日)
1.7 函数的递归调用
1.8 递归列出目录里的文件
1.9 匿名函数
相关练习:递归列出目录里所有文件
Python的练习题链接:http://ask.apelearn.com/question/15707
2周第3天 内置函数与模块(11月16日)
2.0 - 2.4 内建函数
2.5 - 2.6 模块的使用
2周第4天 面向对象编程(11月17日)
2.7 面向对象介绍
2.8 类的属性
2.9 类的方法
3.0 类的内置方法
2周第5天 面向对象编程第二部分(11月18日)
3.1/3.2 类的继承
3.3/3.4 类的总结
3.5-3.8 rc脚本
相关练习:使用类创建一个rc脚本,以memcached为例。通过这个例子,对类的使用有一定了解,加深及巩固关于类的一些概念。
帖子 http://ask.apelearn.com/question/15734
3周第1天
1.1 python处理标准输入
1.2 文件处理的一些方法
1.3 python处理标准输出
知识点扩充:内置变量__file__
作业练习:使用python实现类似tee这样的命令。
帖子 http://ask.apelearn.com/question/15750
3周第2天
1.4/1.5简单的wc命令实现
1.6 使用optparse模块实现wc命令
1.7 wc命令中使用函数
作业练习:写个程序统计文件大小,例如:1.py [-H] filename
支持-H选项,以可读的方式显示文件文件,1-1024B直接显示文件大小,比如100。1k-1M以单位K显示,例如10K。1M-1G之间以单位M显示,例如10M。
3周第3天
1.8 python版的wc命令
1.9 理解__name__内置变量
2.0 扩展wc命令
作业练习:使用python实现类似tee -a这样的命令
http://ask.apelearn.com/question/15775
3周第4天
1.1 hashlib模块使用
1.2 os.walk模块使用
1.3 理解生成器yield
作业练习:找出目录中占用空间大的前10个文件。
扩展练习(可选):试着写一个程序,与os.walk功能一样。
3周第5天(11.25)
1.4 练习文件md5值得校验
1.5 字典排序
1.6 python调用外部命令
相关练习:使用课程中讲到的方法执行ifconfig和chown命令,体会各自的执行结果
http://ask.apelearn.com/question/15792
4周第1天(11.28)
1.7 python异常处理
1.8 自定义异常
1.9 subprocess模块使用
练习作业:写一个程序显示文件内容,要求程序带一个参数,如果没有带参数提示并退出,如果文件不存在提示退出,如果不是标准文件提示退出,使用异常处理。
http://ask.apelearn.com/question/15812
4周第2天(11月29日)
2.0 判断一个字符串是数字
2.1 统计apache进程占用物理内存
2.2-2.3 dmidecode系统信息
相关练习:python里执行dmidecode命令,并保存到文件
4周第3天11月30日
2.4-2.5 收集ip信息
2.6-2.8 收集主机信息
作业练习:1) 收集主机mac地址。提示使用tcpdump -nn -i eth0 port 68 -l 2) 应用环境,在kickstart集中部署时使用
http://ask.apelearn.com/question/15824
4周第4天(12月1日)
2.9 正则表达式
3.0 re模块的一些方法
3.1 正则表达式分组
3.2 使用正则收集ip信息
作业练习:1) 使用正则表达式收集主机网卡名、ip地址、mac地址 2) 使用正则表达式匹配apache的access_log和error_log。
http://ask.apelearn.com/question/15839
4周第5天(12月2日)
1.1 Django简介及安装
扩展知识:看django官方文档
https://docs.djangoproject.com/en/1.8/ part1-3
http://djangobook.py3k.cn/2.0/
5周第1天(12月5日)
1.2 添加应用
1.3 数据模型
1.4 访问数据库
5周第2天(12月6日)
1.5 数据传递post和get
1.6 创建simplecmdb项目
1.7 收集主机信息到cmdb
相关练习:创建应用hostinfo应用,使用收集脚本把信息存到cmdb。
5周第3天(12月7日)
1.8 主机分组管理
1.9 序列化介绍及pickle模块
2.0 pickle模块应用
5周第4天(12月8日)
2.1 json模块应用及数据库查询
2.2 API-json格式
2.3 API-shell格式
6周第1天(12月12日)
1.1 nagios安装及配置文件介绍
1.2-1.5 nagios配置文件生成器
作业:把cmdb里的主机生成nagios配置文件
6周第2天(12月13日)
1.6 了解nagios插件
1.7-1.8 编写nagios插件 - 监测内存
6周第3天(12月14日)
1.9-2.2 编写nagios插件 - 监控syslog
2.3 nagios监控其他主机
作业:
1. 编写监控syslog的插件,如果1分钟内出现相同的错误3次并且发邮件报警。
2. 编写插件监控远程主机的apache进程数和所占的物理内存
http://ask.apelearn.com/question/15936
6周第4天(12月22日)
1.1 多线程介绍与多线程模块-thread
1.2 -1.3 thread的锁
1.4 threading 模块
1.5 - 1.6 互斥锁
作业:分别使用thread和threading模块,使用两个线程输出hello world
6周第5天(12月23)
1.7 - 1.8 线程间通信--Queue模块
作业:一个线程产生10个随机数,另一个线程取出奇数,偶数再放回队列里。使用队列,并且使用类实现。
http://ask.apelearn.com/question/15978
7周第1天(12月26日)
1.9 多进程模块multiprocessing
2.0 进程池
2.1 paramiko模块
7周第2天(12月27日)
2.2 -2.5 并行命令
2.6 - 2.7 并行命令与simpleCMDB
2.8 fabric模块
作业:
1. 自己安装一个clusterit软件包,产生一个dsh命令,用来实现并行命令。
2. 根据自己的cmdb实现并行命令
http://ask.apelearn.com/question/15997
7周第3天(12月28日)
2.9 salt-master安装
3.0 salt-minion安装
3.1 启动salt服务
3.2 使用salt命令
作业:使用pip方式安装salt
7周第4天(12月29日)
3.3 使用salt管理安装软件
3.4 使用salt管理文件
3.5 使用salt管理服务
3.6 highstate模块
3.7 salt多环境
作业:学会看saltstack文档
7周第5天(12月30日)
3.8 target(glob和grain)
3.9 target(compound)
4.0 target(nodegroup)
4.1 sls文件模板
4.2 配置文件模板
4.3 salt与simpleCMDB整合
作业:通过saltstack同步下面内容
1. 软件:openssl,openssl-devel,ntp,openssh-clients,xorg-x11-xauth,ypbind,httpd,net-snmp-utils,net-snmp
2. 文件:/etc/hosts,/etc/yp.conf,/etc/nsswitch.conf,/root/.ssh目录
3. 服务:rpcbind,ypbind,snmpd
4. crontab,每小时同步一次时间