
Python
文章平均质量分 61
CherylNatsu
这个作者很懒,什么都没留下…
展开
-
将Python程序打包为Windows可执行文件格式
花一天时间随便找了几篇文章入门Python,并且写了几个Python小程序想和朋友分享一下顺便推荐这个很棒的编程语言,但是遗憾的是朋友的电脑没有安装Python,而且还是用Windows系统,所以最好的办法是把Python程序转换为Windows上的可执行文件。首先要下载“适当版本“的Python:http://www.python.org/getit/还需要一个叫py2exe的程序:http://www.py2exe.org/把他们分别运行安装。 以一个简单的程序为例:print "Hello World原创 2011-02-25 19:44:00 · 5466 阅读 · 1 评论 -
Move-to-front transform 算法
Move-to-front transform 算法#!/usr/bin/env python# Move-to-front transform algorithmdef move_to_front(src): dst = [] index原创 2011-09-22 21:23:44 · 3123 阅读 · 0 评论 -
Burrows–Wheeler transform 算法
Burrows–Wheeler transform 算法#!/usr/bin/python# Burrows–Wheeler transform Algorithmdef transform(s, start_symbol, end_symbol): s原创 2011-09-22 21:37:26 · 5658 阅读 · 0 评论 -
代码加行号打印
直接在终端显示文件的话是没有行数标记的,比如:$ cat a.c#include int main(int argc, const char *argv[]){ printf("Hello, world!\n"); return 0;}$ 用下面的脚本可以原创 2011-09-17 13:37:03 · 1630 阅读 · 3 评论 -
Python sqlite获得查询结果表的列名
获得查询结果表的列名:db = sqlite.connect('data.db')cur = db.cursor()cur.execute("select * from table")col_name_list = [tuple[0] for tuple in cur.de原创 2011-07-25 01:20:27 · 11256 阅读 · 1 评论 -
Python生成器
<br />Python支持通过yield语句实现的生成器,简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。这个机制可以很方便地实现一些东西,比如《Expert Python Programming》给出的这个生成fibonacci数列的例子:<br />def fibonacci(): a, b = 0, 1 while True:原创 2011-05-08 12:53:00 · 3066 阅读 · 0 评论 -
Python输入密码
Python有个自带的getpass模块:import getpasspassword = getpass.getpass(Enter password: )print password 该模块继承了UNIX下的一贯风格,输入密码不回显屏蔽符。 如果需要显示屏蔽符以提示自己确实正在输入密码的话,可以使用下面的模块:import sys, tty, termio原创 2011-06-29 08:14:00 · 13767 阅读 · 1 评论 -
pygtk给TextView设置值的g_utf8_validate问题
<br /> <br />今天在写的一个GTK程序内容是从一个文本文件(用utf-8编码)读取内容,并显示在窗口的TextView里,首先需要从TextView获得文本的buffer:<br />b = tv.get_buffer() <br />然后把字符串放入buffer:<br />b.set_text(s) <br />这时候发现一个问题,修改textbuffer的时候竟然提示:<br />./a.py:60: GtkWarning: gtk_text_buffer_emit_insert: ass原创 2011-04-29 17:26:00 · 3317 阅读 · 0 评论 -
由一道Python题所想到的
<br /> <br />今天看到这样一道题目:求list中的偶数的平方的和<br />要求用一行Python代码写完<br /> <br />如果没有限制的话是很简单的:<br />s = 0;for item in l: if item % 2 == 0: s += item * item <br />有限制的话可以这么做,首先取出列表中所有的偶数元素、平方后组成一个新的列表:<br />[i * i for i in l if i % 2 == 0] <br /> <br />原创 2011-04-25 19:43:00 · 1231 阅读 · 2 评论 -
Python开发辞典软件
<br /> <br />辞典文件采用的是cdict和cedict,分别是英汉辞典和汉英辞典,辞典格式为StarDict格式。<br />一本辞典的文件主要有三个:<br />.ifo辞典基本信息文件,记录了辞典的名字,作者等基本信息,这个我们忽略。<br />.idx单词索引文件,里面记录了每个单词的字面、在辞典解释文件中的偏移值和每条解释的长度。<br />.dict辞典解释文件,每个单词的解释都存放在里面。<br /> <br />先看看辞典索引文件。索引文件的格式很简单,我用C语言的格式来说:<br原创 2011-04-02 19:03:00 · 1845 阅读 · 0 评论 -
便携设备电子书功能的代码包文件名批量命名工具
<br />很抱歉这次的标题很长而且不是很好理解。是这样的,我有一些便携设备,比如手机,DS等等,我经常需要在上面阅读代码,但是有个很麻烦的问题:这些设备的应用程序会自动监测文件扩展名,必须要.txt它才认为是文本文件,即时这些代码都是文本文件,比如后缀为S,js,py或简单的Makefile他也不允许,非常麻烦。最简单的方法是手动加.txt后缀,但是如果文件很多会很麻烦,所以我做了个程序自动判断后缀,发现不是便携设备直接支持的后缀才加上.txt。<br />我在DS上的阅读软件只识别后缀为c, cpp,原创 2011-03-17 22:16:00 · 1378 阅读 · 1 评论 -
定时监测CPU温度并实现报警和自动关机
<br />/proc/acpi/thermal_zone/THRM/temperature可以获取温度。<br />awk可以方便地按列处理文本。<br /> <br />具体的警报温度,关机温度,关机延迟和监测间隔时间可以自行设定,需要在root下才能实现关机,代码如下:<br />#!/usr/bin/pythonimport os, commands, timewarning_temperature = 70shutdown_temperature = 80interval = 30原创 2011-03-13 19:50:00 · 3696 阅读 · 2 评论 -
高精度计算:梅森数(1)
有一类很经典的题目叫“高精度计算”。我当时特地去另一个城市听过一位计算机教育方面很著名的老师讲了10堂课,其中高精度计算专门用了一天来讲。当时我们使用的编程语言是Pascal,典型的古典语言,没有什么新特性,没有虚拟机,语法形式比C严格的多,数据类型当然也是很简单的,最普通的integer类型范围为-32768..32767,longint有-2147483648.。2147483647,再高一点的有extended为3.4e-4932..1.1e4932(精度无法保证)。这些数据类型远远不能达到“高精度计原创 2011-03-06 16:00:00 · 3916 阅读 · 1 评论 -
基于最大长度词语匹配的简单的汉语分词方法
我把做好的聊天机器人给群里的朋友测试,他测试的语句是这样的:“你好”,“你会说中文吗?”,“你吃饭了吗?”因为我之前没告诉他只支持简单的英文,他就理所当然地用中文测试。测试后,他问我,可以加上中文支持吗?我说:“没问题,加上足够的关键字判断和语句库而已。”,后来思考一下,发觉没这么简单。中文和英文有个最大的不同是,英文词组之间是分开的,有空格或标点符号,而中文因为字的表意功能太强,差不多每个字都有自己的意思,所以词组之间没有空格隔开,而我用的机器人是基于词组工作的,如果要支持中文,就以为着必须把中文句子进行原创 2011-03-03 14:17:00 · 2673 阅读 · 3 评论 -
100!末尾零的个数
直接计算:#!/usr/bin/pythons = 1for i in range(1, 101):s *= icount = 0q = str(s)for i in reversed(q): if (int)(i) == 0: count += 1 else: breakprint count得到结果:24两个数的乘积能在末尾产生0的只有"偶数X5的倍数",1~100之间有50个偶数,但是5的倍数很少,其中5,10,15,20这样的数能产生一个0,共原创 2011-03-04 21:51:00 · 1742 阅读 · 0 评论 -
Emacs python-mode下奇怪的EOFError: EOF when reading a line问题
Emacs有一个python-mode,使得编写python程序非常方便,但是却因为集成在emacs编辑器里,会出一些直接在shell下没有的问题。比如有这么一段python程序:#!/usr/bin/pythonstr = raw_input("Prompt:") bash下直接运行没有问题:cheryl@debian:~$ python test_input.py Prompt:It works on bash now!cheryl@debian:~$ 但是在Emacs里使用py-exec原创 2011-02-27 21:33:00 · 6157 阅读 · 2 评论 -
自动Suspend CPU占用率最高进程,夏天CPU好帮手
内容如代码所示,温度和suspend、resume策略你需要自己修改一下:#!/usr/bin/env python# -*- coding=utf-8 -*-import commands, signal, time, os, realarm_temp = 90safe_temp = 70ignore_cpu_percent = 10.0pid_pool = []原创 2012-07-22 08:56:39 · 1977 阅读 · 0 评论