可爱的PYTHON,更新到0.5版本代码

这书看得挺顺的。

按着思路学习软件开发的主流思想。。

cdctools.py

# _*_ coding: utf-8 _*_
import os,sys

def cdWalker(CDROM, cdcfile):
    export = ""
    for root, dirs, files in os.walk(CDROM):
        export += formatCDinfo(root,dirs,files)
        open(cdcfile,'w').write(export)

def cdcGrep(cdcpath, keyword):
    filelist = os.listdir(cdcpath)
    for cdc in filelist:
        if ".cdc" in cdc:
            cdcfile = open(cdcpath + cdc)
            for line in cdcfile.readlines():
                if keyword in line:
                    print(line)
def formatCDinfo(root,dirs,files):
    export = "\n" + root + "\n"
    for d in dirs:
        export += "-d " + root + d + "\n"
    for f in files:
        export += "-f %s %s \n" %(root,f)
    export += "=" * 70

    return export

if __name__ == '__main__':
    CDROM = 'E:\\TDDOWNLOAD\\'
    cdWalker(CDROM,'cdc.cdc')
'''
if sys.argv[1] == '-e':
    cdWalker(CDROM, sys.argv[2])
    print("记录文件夹 %s 信息内容 到 %s" % (CDROM, sys.argv[2]))
else:
    print('PYCDC使用方式:
        python pycdc.py -e mycdc1-1.cdc
        将光盘内容记录到mycdc1-1.cdc
        ')
'''

 

pycdc-v-0.5.py

# _*_ coding: utf-8_*_
import sys, cmd
from cdctools import *

class PyCDC(cmd.Cmd):
    def __init__(self):
        cmd.Cmd.__init__(self)
        self.CDROM = 'E:\\TDDOWNLOAD\\'
        self.CDDIR = 'cdc\\'
        self.prompt = "(PyCDC)>"
        self.intro = '''PyCDC0.5使用说明:
        dir 目录名 #指定保存和搜索目录,默认是"cdc"
        walk 文件名 #指定光盘信息文件名,使用"*.cdc"
        find 关键词 #使用在保存和搜索目录中遍历所有的.cdc文件,输出含有关键词的行
        ?            #查询
        EOF         #退出系统,也可以使用Ctrl + D(Unix)|Ctrl + Z(Dos/Windows)
        '''
    def help_EOF(self):
        print("退出程序 Quits the program")
    def do_EOF(self, line):
        sys.exit()

    def help_walk(self):
        print("扫描光盘内容 walk cd and export into *.cdc")
    def do_walk(self, filename):
        if filename == "":filename = input("请输入CDC文件名: ")
        print("扫描光盘内容到: '%s'" % filename)
        cdWalker(self.CDROM,self.CDDIR + filename)

    def help_dir(self):
        print("请拽定保存/搜索目录")
    def do_dir(self, pathname):
        if pathname == "":pathname = input("请输入指定保存/搜索目录: ")
        self.CDDIR = pathname
        print("指定保存/搜索目录:'%s' ; 默认是: '%s'" % (pathname, self.CDDIR))

    def help_find(self):
        print("搜索关键词")
    def do_find(self, keyword):
        if keyword == "":keyword = input("请输入搜索关键字: ")
        print("搜索关键词:%s" % keyword)
        cdcGrep(os.getcwd() + "\\" + self.CDDIR, keyword)

if __name__ == '__main__':
    cdc = PyCDC()
    cdc.cmdloop()

 

输出:

时间: 2024-11-08 21:21:32

可爱的PYTHON,更新到0.5版本代码的相关文章

可爱的Python:更新您的Python读物列表,第3部分

Python 书籍已经开始稳步占据着书店书架空间的更大份额.自从我开始发表这些综述以来,现可称为"废品"的有关 Python 的书籍数量可能已经是原来的四倍.而这还不包括许多在 Web 上发布的有关 Python 的出色的电子文档(包括一些未经删节的书籍).本文谈及的几本 Python 书籍已在前几个月就放到了我的书架上. 与 Web 相关的书籍 关于 Python 和 Web 的两本书 我最近看到两本书:Holden 和 Beazley 合著的 Python Web Programm

可爱的Python:更新您的Python读物列表,第2部分

开始之前 自从九个月前,我的 最近书籍摘要发表以来,又有一些新的 Python 书籍出版了,还有一些我先前没有机会评论的其它书籍送到我的书桌上.我没有机会评论所有希望评论的书,但是在这两个部分中所讨论的每一本书,您都可以考虑购买. 在过去的一年中,更多的书籍将加入 Python 的书架.肯定会有一些书名我没有听说过:但是这里有一些似乎很不错的书.Python 坚定而有才华的 Usenet 评论家 Alex Martelli 已经明确约定为 O'Reilly 编写两本单独的书籍 ― 一本标题为 P

Pig 更新: 发布 0.7 版本

关于 Pig Pig 是一款文件格式化工具,它可以将"金山词霸"生词本软件导出的格式混乱的文件整理成网页格式,方便大家打印.更多内容可以参考以前的文章<和 Pig 一起学英语> . Pig 距离上一次更新有快两年的时间了,期间发生了很多事.其中一个原因是我后来对自己电脑上的软件进行了正版化清理:诸如 Visual Basic 6.0 精简版.VMWare 等盗版软件都被我卸载了,而 Pig 之前的版本都是用 VB6 精简版 + Dev-C++ 开发的. 姗姗来迟的新版本 事

可爱的Python:获得版本 2.0

Python 程序员最近随着版本 2.0 的发行获得了一个崭新的工具.Python 2.0 是在以前 Python 版本的长处上构建的,同时添加了许多新的便利和能力.本文提供了作者对 Python 最新版本的印象,以及有关如何有效利用它的一些技巧. 于 2000 年 10 月发行的 Python 2.0 引入了许多新的语言特性,并包括一些新的标准模块.负责人 van Rossum 的一个美德 -- 可能就是为他在 Python 社区中赢得"终身慈善统治者 (BDFL)"称号的 -- 是

ThinkPHP 5.0.1版本发布,小版本大更新

喜迎国庆,ThinkPHP5.0.1版本发布,提前祝TPer国庆佳节快乐,事业顺利,用ThinkPHP开发更健康^_^ ThinkPHP V5.0--为API开发而设计的高性能框架hinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由.日志.异常.模型.数据库.模板引擎和验证等模块都已经重构,不适合原有3.2项

9月30日,微信正式更新6.0版本

摘要: 9月30日,微信正式更新6.0版本,主打更新有三个,分别为: 一是,新增的小视频功能,该功能与短视频产品类似,但没有 滤镜 和配乐效果,从实际效果看,更像是为微信增加了有声音 9月30日,微信正式更新6.0版本,主打更新有三个,分别为: 一是,新增的"小视频"功能,该功能与短视频产品类似,但没有 滤镜 和配乐效果,从实际效果看,更像是为微信增加了有声音的动态图片功能: 二是,卡包功能,此前搜狐IT曾独家报道过微信将增加卡包功能,该功能需要用户获取卡券后才能使用: 三是,微信游戏

详解Cocos2dx 3.0正式版本开发环境搭建(Win32/Android)

cocos2d-x 3.0发布有一段时间了,作为一个初学者,我一直觉得cocos2d-x很坑.每个比较大的版本变动,都会有不一样的项目创建方式,每次的跨度都挺大-- 但是凭心而论,3.0RC版本开始 环境搭建.项目创建.编译的方式更加人性化了. 现在我们进入正题,一步一步搭建cocos2dx的开发环境 cocos2d-x很多tools都是需要使用Python的,因此我们需要先安装Python环境 python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发

可爱的Python: 用基于生成器的状态机和协同程序增加效率

Python 2.2 中引进的简单生成器可用于简化状态机以及模仿协同程序.David 在"可爱的 Python"专栏较早前的一个部分中介绍了一个 状态机处理的抽象模式.从那时起,简单生成器的引进就为描述机器提供了一些更自然的范例.协同程序是一种"外来"流机制,广泛使用的语言几乎都不支持这种机制(甚至连非 Stackless Python 都不支持它).然而,Python 的新生成器 几乎完全支持协同程序,几乎不用模仿任何额外的步骤.在本文中,David 通过说明性代

可爱的Python:动态重新装入

与大多数其它编程语言相比,Python 的一大优点就是其强大的运行时动态能力.感谢方便的 reload() 函数,我们可以编写持续运行的程序,但它可以在进程运行期间装入经过修改的组件(对于那些持续运行时间至关重要的服务来说, 相当有用).b本文在 David 以前的文章中讨论的对 Txt2Html 前端的某些增强基础上,说明了运行时程序修改.特别是,我们的样本程序将对因特网上 Txt2Html 转换库的新版本进行后台检查, 并下载和重新装入所需的新版本,无需用户手工介入. 让我们描绘一下本文的情