功能,去掉系统提示为盗版,特别是OFFICE,想当的烦,每次用的时候都要面对你不是正版什么的提示,索性弄个批处理把把给去掉了,献给有用的人吧,好处就是你删除验证文件后,不会再提示你安装验证的补丁,有用的同志拿去用, 原理,因为WgaTray.exe和OGAVerify.exe不能在进程中结束,结束也会自己再开启,所以前2句是通过映像劫持让这2个进程不能运行,然后再删除此些验证文件,如果再提示安装此
打印所有汉字
发表于: 2009-3-16 15:16:2python真是爽啊,两句话就可以把所有的汉字全部打出来,代码如下
for ch in xrange(0x4e00, 0x9fa6):
print unichr(ch)
总共打印汉字20901个!这是从python.cn看来的
Tags:
发布:分秒必争 | 分类:Python | 评论:0 | 引用:0 | 浏览:
Python操作Excel文件
发表于: 2009-3-11 13:1:16还是工作须要,目前还不会用到,过段时间会用到,因为现在程序开发进度还在起步阶段,为了避免以后要用没地方找,先在这里记一笔.本文转自http://blog.donews.com/limodou/archive/2005/07/09/460033.aspx
以下文中所说的模块下载地址: http://sourceforge.net/projects/pyexcelerator/
一、Excel文件读取
from pyExcelerator import *
sheets = parse_xls('d:/a.xls')
很简单,与 xlrd 不同。xlrd 需要先调用book = xlrd.open_workbook(filename)打开文档,然后再调用sh = book.sheet_by_index(i)来得到第几个sheet,然后再使用sh.cell_value(i, j)得到i行j列的单元格的值。操作多了一点。而上面的parse_xls(filename)则直接返回一个列表,每一项就是一个sheet的数据。每项是一个二元组(表名,单元格数据)。其中单元格数据为一个字典,键值就是单元格的索引(i,j)。如果某个单元格无数据,那么就不存在这个值。看似简单,但从处理上不象 xlrd 一样,可以知道每个sheet的最大行数和列数,然后进行循环。而使用 pyExcelerator 好象没有最大行数和列数,再加上空数据又不存在,因此在处理上相对麻烦一些。这样在处理上还需要注意。它与 xlrd 一样都支持 unicode ,但好象没有 xlrd 一样方便地判断单元格的类型的方法,感觉还是 xlrd 在功能上可能要强一些。当然这只是个人感觉,再加上只是看了看例子,并没有怎么使用。
二、Excel文件写入
这个才是重头。那么安装好 pyExcelerator 之后,读了 Readme.txt 之后了解到它的文档正在进行当中,因此想多了解如何使用它需要看它所带的例子,甚至看源程序。下面是我从例子中了解的如何写一个 Excel 文档需要了解的。
为了方便,在导入这个模块中使用了import *的方式。
from pyExcelerator import *
首先导入模块,然后是生成工作薄。
w = Workbook()
接着是加入一个工作表(sheet)。
ws = w.add_sheet('Hey, Dude')
然后就可以保存了。
w.save('mini.xls')
上面的代码加在一起就是:
from pyExcelerator import *
w = Workbook()
ws = w.add_sheet('Hey, Dude')
w.save('mini.xls')
这就是最小的一个例子了,在例子中叫mini.py。你可以在例子目录下运行mini.py看一看是不是生成了一个空的Excel文件。
如果想加入中文很简单,改为:
#coding=cp936
from pyExcelerator import *w = Workbook()
ws = w.add_sheet(u'这是中文')
w.save('mini.xls')
这样上面的执行结果是生成一个空Excel文件,但它的第一个sheet的名字为“这是中文”。就这样,只要保证你写入时使用unicode就行了。
空文件可以生成,那么如何插入单元格呢?
ws.write(i, j, value)
其中value为值,可以是unicode。
接着,我们可能想改变单元格的样式,如字体:
font0 = Font()
font0.name = 'Times New Roman'
font0.struck_out = True
font0.bold = Truestyle0 = XFStyle()
style0.font = font0
这样我们创建了一个字体,然后又生成了一个样式。注意,真正起作用的是样式,字体不过是样式中的一种效果。
这样在写入单元格时带着这个样式就行了,还是使用上面的write()方法:
ws.write(1, 1, 'Test', style0)
这是在名为ws的sheet中的第(1,1)单元格写入了值为"Test"的内容,并且它的样式为style0。
然后我们还可以设置单元格的边框:
borders = Borders()
borders.left = 5
style.borders = borders
上面创建了一个边框效果,设置了左边框,至于5是什么意思,我也不清楚,随便写的。然后放到样式中。上面的例子可以参考format.py程序。
其它还有许多的效果,简单地列一下:
| 示例名 | 说明 |
| col_width.py | 改变单元格宽度 |
| row_style.py | 设置行的高度 |
| merged*.py | 单元格合并 |
| image.py | 插入图片 |
| outline*.py | 大纲效果(以前真没用过) |
| wsprops.py | sheet的属性值打印 |
| xls2*.py | Excel转为其它的文件格式 |
Tags:
发布:分秒必争 | 分类:Python | 评论:0 | 引用:0 | 浏览:
合并2个字典
发表于: 2009-3-10 15:11:35因工作中须要编写一段程序,而从我个人的构思就是合并2个字典比较麻烦,经过在论坛一翻问答,目前已有一答案,不知道处理数据量很大的情况会不会很慢先记一笔吧
字典
#姓名 #电话
list1 = {"aaa":"12345",
"bbb":"76859",
"ccc":"346843",
"eee":"0854335"}
#姓名 #手机
list3 = {"aaa":"1234577",
"bbb":"7685977",
"ddd":"3468437777",
"eee":"085433544"}
for k,v in list1.items():
if list3.has_key(k):
list3[k]=list3[k]+','+v
else:
list3[k]=v
print list3
运行结果如下,懂PYTHON的人都知道,这个结果已和我要的结果非常相近了
{'eee': '085433544,0854335', 'aaa': '1234577,12345', 'bbb': '7685977,76859', 'ddd': '3468437777'}
#姓名 电话 手机
aaa 12345 1234577
bbb 76859 7685977
ccc 346843
ddd 3468437777
eee 0854335 085433544
Tags:
发布:分秒必争 | 分类:Python | 评论:0 | 引用:0 | 浏览:
教你对付响一声电话
发表于: 2009-3-2 14:16:28这年头的响一声电话已经让人非常痛恨,连我的小灵通都有响一声电话,如果回拨过去,他会要你打另一个号码,当然我可不会直接拿手机回拨,我不会这么笨,我用UUCALL拨过去,最郁闷的就是半夜三更响一声电话把你吵醒,你去接的时候已经挂了,那个郁闷啊,真的很想跳起来打那个人一顿,如果你是智能机,嘿嘿,有个很好的办法,装个手机版的语音信箱,当然这个语音信箱跟别的语音信箱不一样,移动的那种语音信箱是转接机制,所以

赞助商