可爱的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()
输出:

可爱的PYTHON,更新到0.5版本代码的更多相关文章
- 小菜学习Lucene.Net(更新3.0.3版本使用)
花了两天的时间研究了下Lucene.Net 发现确实挺好玩.... 最新版本是3.0.3 (最后更新时间2012-10) 可惜3.0.3版本的Lucene.net无法和盘古分词 (最新版为2.3.1. ...
- Word图片上传控件(WordPaster)更新-2.0.15版本
更新说明: 1. 增加对webp图片的支持,支持微信公众号图片的下载. 效果参考:http://www.ncmem.com/doc/view.aspx?id=9761f8ce4fe04d0ab0f ...
- ckeditor粘帖上传图片控件-更新-2.0.15版本
泽优Word图片上传产品测试 泽优Word图片上传控件WordPaster2,基于php开发环境测试. 泽优软件官网Word图片上传产品介绍页面: http://www.ncmem.com/webap ...
- linux python 更新版本
更新python: 第1步:更新gcc,因为gcc版本太老会导致新版本python包编译不成功 代码如下: #yum -y install gcc 系统会自动下载并安装或更新,等它自己结束 第2步:下 ...
- 解决IntelliJ IDEA 13更新FindBugs 0.9.993时JRE版本过低导致启动失败问题
今晚更新FindBugs 0.9.992(FindBugs 2)至FindBugs 0.9.993(FindBugs 3)后,按要求重启IntelliJ IDEA 13.本想看看更新后多了哪些功能,结 ...
- Python开发工具Wing IDE发布5.0.1版本
Wing IDE是一个跨平台的Python IDE,提供了一个专业代码编辑.自动编辑.自动完成.重构.强大的图形调试器.版本控制.单位测试.搜索及其他功能.目前已经成为最全面.最综合.最先进的智能化P ...
- Python 3.9.0 首个迭代版本发布了
Python 3.9.0 alpha 1 发布了,这是 3.8 之后的首个 3.9 系列版本. ! 官方没有介绍新特性,也没有添加新模块,但是以下模块有所改进: ast asyncio curses ...
- 华为联运游戏审核驳回:在未安装或需更新HMS Core的手机上,提示安装,点击取消后,游戏卡屏(集成的6.1.0.301版本游戏SDK)
问题描述 更新游戏SDK到6.1.0.301版本之后,游戏包被审核驳回:在未安装或需更新华为移动服务版本(HMS Core)的手机上,提示安装华为移动服务(HMS Core),点击取消,游戏卡屏.修改 ...
- MongoDBV3.0.7版本(shard+replica)集群的搭建及验证
集群的模块介绍: 从MongoDB官方给的集群架构了解,整个集群主要有4个模块:Config Server.mongs. shard.replica set: Config Server:用来存放集群 ...
随机推荐
- mysql mac 上启动
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist 中内容: <string>/usr/local/o ...
- 九度 1371 最小的K个数
题目描述:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每个测试案例包括2行:第一行为2个整数n,k(1<= ...
- 2.redis.3.2 下载,安装、配置、使用 - 2
上篇简单介绍了 下载,安装,测试,现在直接使用了,看结果 使用的redis服务便是,上篇临时搭建的简易服务,,注意,说的是简易,因为它只是一个单点的“玩具”: 临时在项目登录的时候模拟了一下,这里使用 ...
- ios Toll-Free Bridging
有一些数据类型是能够在 Core Foundation Framework 和 Foundation Framework 之间交换使用的.这意味着,对于同一个数据类型,你既可以将其作为参数传入 Cor ...
- iOS svn版本回退 cornerstone
http://blog.csdn.net/x32sky/article/details/46866899 IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例) Cornerst ...
- SDL实现限制帧速
很多人都在SDL_PollEvent和SDL_WaitEvent之间纠结.前者会带来更好的帧数表现,但是CPU占用极大,可以直接吃掉一个核心.后者则基本不占用CPU,但是帧数会受到影响.有没有办法使两 ...
- 颜色空间转换 cvtColor()[OpenCV 笔记13]
void cvtColor(InputArray src, OutputArray dst, ) src: 输入图像 dst: 输出图像 code: 颜色空间转换标识符 OpenCV2的CV_前缀宏命 ...
- ASP.NET中Json的处理
要使用.NET自带的JSON处理工具需要引用下面的命名空间: using System.Web.Script.Serialization; 1.编码 myConfig mc = new myConfi ...
- Check Mysql Database Size
SELECT ROUND( SUM(data_length + index_length) / 1024 / 1024 ) TOTAL_MB, ROUND(SUM(data_length) / 102 ...
- 使用Map辅助拼装树状结构,消除递归调用
目前菜单或其他树状结构在数据库中的存储,多数是以一个parentid作为关联字段,以一维形式存储.使用时全部查询出来,然后在内存中拼装成树状结构.现在主要涉及的是拼装方法的问题. 一般可以进行 递归调 ...