管道的Python基础知识
迈克尔·莫尔豪斯(Michael Morehouse)讲授
- 课程编号:
- PYT201
- 软件版本:
- Python 2.7.2
- 原始运行日期:
- 2011年10月
- 持续时间:
- 12小时7分钟
管道
在整个课程中,重点始终放在思考问题并使用库或命令行工具进行攻击,然后测试和优化代码,同时始终记录下来。虽然某些更具魅力和奇特的解决方案将不得不等待以后的课程,但该课程将为您提供基本技能,这些技能将帮助您获得发展并保持自己的发展。
对于本课程,您应该对基本的Python语言有所了解。创建几个相互导入的模块的想法让您很满意。熟悉如何定义函数和类,并且至少对面向对象的继承有一定的了解。准备在命令行中进行工作,并相当熟悉终端及其操作。需要一些基本的Shell脚本和管理员知识,并且理想情况下,您足够习惯从源代码下载和编译一些简单的代码。这些课程假设您正在Unix风格的环境中工作,或者已将Windows配置为足以进行类似Unix的命令行操作。此外,假定您已经安装了Python 2.X的工作副本,最好至少安装了Python 2.6,并且选择了支持Python语法突出显示的文本编辑器。
由于他的生活更加频繁,他的职业生涯因某些人换了裤子而升职并换了职业,因此,令人惊讶的是,Morehouse已经成为Digital Domain的2D TD已有近三年了。在Digital Domain,他负责大型项目,涉及跨设施资产和软件同步,外包数据提取以及整个Nuke渠道,同时还支持Tron:Legacy和Thor等电影。在此之前,他在学习Python的同时从事运动跟踪工作,在此之前,他从事过从生产和准备摄像头到库存管理,税务会计和萨班斯-奥克斯利法案的所有工作,涉及行业的生产租赁。简而言之,迈克尔比橡胶板具有更大的柔韧性,并且同样难以固定。
课程纲要
1类
做好准备,定义问题。快速使用PIL进行virtualenv和包管理的简介:我们将设置一个干净的Python环境以使用并安装整个课程中将要使用的一些基本包,包括PyYAML(和可选的C扩展),Sphinx,pylint和别的。接下来,我们将深入研究整个学期要解决的基本问题的一些基础知识:确切地说,如何在磁盘上找到图像序列并对其进行移动,重命名和重新编号,同时保持有关这些文件的一些基本知识?
2级
这个问题不是那么简单:构建模块中的思考。
定义用于思考帧范围的纯Python类:“序列”是一组具有相同属性的文件,它们都属于具有第一帧和最后一帧的某个范围。但是,如果整个范围都不成立,该怎么办?来了吗欺骗类来处理此信息。
3级
命令行1:列出序列。
我们的第一个命令行工具将简单列出我们提供的任何给定目录路径的顺序文件。我们将探讨optparse模块中选项解析的基础。我们将添加一些(非常基本的)日志记录,并介绍使用Yaml创建配置文件的过程。
4级
命令行2:唱歌。
使我们的Sequence lister遍历目录树,并显着扩展其选项解析,以允许基于扩展名,正则表达式,glob样式的unix语法和其他方式进行过滤。在功能上相关的组中一起显示选项,并且通常会欺骗命令行工具界面。
5级
命令行3:整理序列表。
解释和扩展itertools,ifilter,fnmatch和正则表达式如何用于逐步筛选我们发现的序列,并展示所有新命令行选项如何发挥作用。我们还将深入研究使用鼻子和nostools命令在我们的程序包上发现并运行可自动化的单元测试,以确保代码中的更改不会导致其行为退化或错误。
6级
重命名和重编号应该很容易。扩展我们的工具集,以允许使用正则表达式进行强大的重命名,并使用我们之前的FrameRange类和新发现的技能进行重编号。
7级
线程,队列和散列。
使用python的线程探索简单的并行化。线程类产生一个工作池来执行并行任务。发现使用队列的简单模式。队列类用于同步和控制线程行为。修改上一课中的rnames工具以允许使用Threading,并添加新的cksums工具以生成序列的md5校验和。
8级
总结命令行:更多的哈希和线程。
从上一课开始,使用zlib和hashlib的所有标准校验和/哈希算法增强cksums工具。创建smvs,这是一种使用链式Queue结构管理线程来安全移动序列的工具。使用校验和确保文件的新副本与旧副本完全匹配。
9级
自动化测试得到扩展;使用pylint验证编码标准。我们通过安装和拆卸夹具将自动化的单元测试大大扩展到基于类的测试中。为我们所有的模型和控制器模块创建了测试套件。然后,我们使用pylint验证Pysequences中的所有代码均符合我们的设施编码标准。在工作环境中进行测试和编码的良好习惯。
10级
包起来;文档和分发。
我们将Sphinx与Autodoc结合使用,以完善我们精心地和虔诚地添加到我们代码中的所有精心制作和冗长的帮助字符串,以希望跟随我们的人不必处理我们必须处理的内容。在总结PYT201的过程中,将简要讨论配电系统,并概述所呈现的技能和想法将如何帮助您在精通管道之前掌握管道。