<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.yarkee.net/styles/feedsky1.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.yarkee.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/yarkee" type="application/rss+xml"></fs:self_link><lastBuildDate>Sat, 21 May 2011 05:09:23 GMT</lastBuildDate><title>我们都知道</title><description>挨踢是这样练成的</description><image><url>http://www.feedsky.com/images/feedsky_logologo.gif</url><title>我们都知道</title><link>http://www.yarkee.net</link></image><link>http://www.yarkee.net</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sat, 21 May 2011 05:09:23 GMT</pubDate><item><title>Python脚本:批量修改文件名</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896300/6199292/1/item.html</link><content:encoded>&lt;p&gt;问题大致是这样的：我下载了一堆文件放在某个文件夹下，这堆文件的名字都具有这样的格式 [Python乱码哇哇乱码哇哇].Python&amp;#8230;. ，于是想把中括号里面的那堆乱码替换掉。&lt;/p&gt;
&lt;p&gt;要实现其他字符的替换只需稍稍修改pat这个pattern和sub这个函数就可以了。比如说，要把所有文件名中的字符串A替换成字符串B，那pat和sub就作这样的修改&lt;/p&gt;
&lt;p&gt;pat=re.compile(r&amp;#8217;A')&lt;/p&gt;
&lt;p&gt;re.sub(pat,&amp;#8217;B',i)&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#! /usr/bin/env python&lt;/span&gt;
&lt;span style=&quot;color: #483d8b;&quot;&gt;''&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;'
    This script is used to substitute all the file name in a directory 
'&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;''&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;shutil&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;os&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #008000;&quot;&gt;dir&lt;/span&gt;=r&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;/home/yarkee/test/&amp;quot;&lt;/span&gt;  &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#The target directory &lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;not&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;os&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;path&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;isdir&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;dir&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;Error: The directory doesn't exist.&amp;quot;&lt;/span&gt;
    exit&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
files=&lt;span style=&quot;color: #dc143c;&quot;&gt;os&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;listdir&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;dir&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
pat=&lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;.&lt;span style=&quot;color: #008000;&quot;&gt;compile&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;r&lt;span style=&quot;color: #483d8b;&quot;&gt;'&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\[&lt;/span&gt;Python.*&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\]&lt;/span&gt;'&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; files:
    newFile=&lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;sub&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;pat,&lt;span style=&quot;color: #483d8b;&quot;&gt;'Python'&lt;/span&gt;,i&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;  &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;# 'Python' substitute for pat&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; newFile
    &lt;span style=&quot;color: #dc143c;&quot;&gt;shutil&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;move&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;dir&lt;/span&gt;+i,&lt;span style=&quot;color: #008000;&quot;&gt;dir&lt;/span&gt;+newFile&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;  &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#Same as the linux command mv&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896300/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896300/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/05/rename-file.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>问题大致是这样的：我下载了一堆文件放在某个文件夹下，这堆文件的名字都具有这样的格式 [Python乱码哇哇乱码哇哇].Python&amp;#8230;. ，于是想把中括号里面的那堆乱码替换掉。 要实现其他字符的替换只需稍稍修改pat这个pattern和sub这个函数就可以了。比如说，要把所有文件名中的字符串A替换成字符串B，那pat和sub就作这样的修改 pat=re.compile(r&amp;#8217;A') re.sub(pat,&amp;#8217;B',i) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #! /usr/bin/env python ''' This script is used to substitute all the file name in a directory ''' &amp;#160; import shutil import os import re &amp;#160; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/513896300/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896300/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>python</category><category>编程</category><pubDate>Sat, 21 May 2011 13:09:23 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/05/rename-file.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=417</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/05/rename-file.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896300/6199292</fs:itemid></item><item><title>Python排序:快速,冒泡,归并</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896301/6199292/1/item.html</link><content:encoded>&lt;p&gt;之前介绍过qsort,但后来发现稍微有点不妥,终止条件设置成if not L: return L ,有点多余,实际上L长度为1时就可return了,所以改了改终止条件.然后写了下冒泡排序和归并排序,测试了下,运行结果应该没问题.&lt;br /&gt;
&lt;br/&gt;&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;=&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;: &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; L
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; x&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;+L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;+qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; x&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; bubblesort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;xrange&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
        &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; j &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;xrange&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;,i,-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
            &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;:
                L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;,L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;,L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;j-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; L
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; mergesort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;=&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;: &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; L
    left=mergesort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;/&lt;span style=&quot;color: #ff4500;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
    right=mergesort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;/&lt;span style=&quot;color: #ff4500;&quot;&gt;2&lt;/span&gt;:&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
    result=&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;left&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;or&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;right&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;:
        &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;right&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;=&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;or&lt;/span&gt; &lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;left&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;and&lt;/span&gt; left&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;=right&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
            result.&lt;span style=&quot;color: black;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;left.&lt;span style=&quot;color: black;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;else&lt;/span&gt;:
            result.&lt;span style=&quot;color: black;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;right.&lt;span style=&quot;color: black;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; result&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896301/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896301/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/05/python%e6%8e%92%e5%ba%8f%e5%bf%ab%e9%80%9f%e5%86%92%e6%b3%a1%e5%bd%92%e5%b9%b6.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>之前介绍过qsort,但后来发现稍微有点不妥,终止条件设置成if not L: return L ,有点多余,实际上L长度为1时就可return了,所以改了改终止条件.然后写了下冒泡排序和归并排序,测试了下,运行结果应该没问题. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 def qsort&amp;#40;L&amp;#41;: if len&amp;#40;L&amp;#41;&amp;#60;=1: return L return qsort&amp;#40;&amp;#91;x for x in L&amp;#91;1:&amp;#93; if x&amp;#60;L&amp;#91;0&amp;#93;&amp;#93;&amp;#41;+L&amp;#91;0:1&amp;#93;+qsort&amp;#40;&amp;#91;x for x in L&amp;#91;1:&amp;#93; if x&amp;#62;=L&amp;#91;0&amp;#93;&amp;#93;&amp;#41; &amp;#160; def bubblesort&amp;#40;L&amp;#41;: for i in xrange&amp;#40;0,len&amp;#40;L&amp;#41;&amp;#41;: [...]&lt;img src=&quot;http://www1.feedsky.com/t1/513896301/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896301/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>归并排序</category><category>快速排序</category><category>编程</category><category>冒泡排序</category><pubDate>Fri, 13 May 2011 22:33:37 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/05/python%e6%8e%92%e5%ba%8f%e5%bf%ab%e9%80%9f%e5%86%92%e6%b3%a1%e5%bd%92%e5%b9%b6.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=410</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/05/python%e6%8e%92%e5%ba%8f%e5%bf%ab%e9%80%9f%e5%86%92%e6%b3%a1%e5%bd%92%e5%b9%b6.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896301/6199292</fs:itemid></item><item><title>消除ubuntu错误提示音</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896302/6199292/1/item.html</link><content:encoded>&lt;p&gt;在ubuntu中，发生按键错误时会发出相当刺耳的错误提示音，这简直是噪音，&amp;#8221;Beep, beep&amp;#8221;。比如说，在shell中已经没有输入字符了，却还在按backspace退格键，就会叫叫叫。之前还只在按下&amp;lt;C+F1&amp;gt;切换到字符界面后，才会因为按键错误而发出提示音。在Gnome图形界面中安然无恙。今天在Ubuntu上配了下compiz，弄了点特效。问题就来了。在Gnome环境中，按键错误也会&amp;#8221;Beep, beep&amp;#8221;地响。这还得了，按错键可是经常的时呀。&lt;/p&gt;
&lt;p&gt;谷歌了一下，解决方法大致是这样的，切换到root权限，然后编辑当前用户的bashrc文件。&lt;/p&gt;
&lt;p&gt;vim ~/.bashrc&lt;/p&gt;
&lt;p&gt;在.bashrc的末尾加上这两行&lt;/p&gt;
&lt;p&gt;setterm   -blength 0   （这个是数字0，不是字母o）&lt;/p&gt;
&lt;p&gt;保存，注销后重新登陆即可。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896302/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896302/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/04/clear-error-sound.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>在ubuntu中，发生按键错误时会发出相当刺耳的错误提示音，这简直是噪音，&amp;#8221;Beep, beep&amp;#8221;。比如说，在shell中已经没有输入字符了，却还在按backspace退格键，就会叫叫叫。之前还只在按下&amp;#60;C+F1&amp;#62;切换到字符界面后，才会因为按键错误而发出提示音。在Gnome图形界面中安然无恙。今天在Ubuntu上配了下compiz，弄了点特效。问题就来了。在Gnome环境中，按键错误也会&amp;#8221;Beep, beep&amp;#8221;地响。这还得了，按错键可是经常的时呀。 谷歌了一下，解决方法大致是这样的，切换到root权限，然后编辑当前用户的bashrc文件。 vim ~/.bashrc 在.bashrc的末尾加上这两行 setterm   -blength 0   （这个是数字0，不是字母o） 保存，注销后重新登陆即可。&lt;img src=&quot;http://www1.feedsky.com/t1/513896302/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896302/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux</category><category>错误提示音</category><pubDate>Sun, 17 Apr 2011 19:52:56 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/04/clear-error-sound.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=404</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/04/clear-error-sound.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896302/6199292</fs:itemid></item><item><title>用python统计单词出现次数</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896303/6199292/1/item.html</link><content:encoded>&lt;p&gt;今天在珠三角技术沙龙发起者赖总的博客上 &lt;a href=&quot;http://blog.csdn.net/lanphaday/archive/2011/03/31/6291668.aspx&quot;&gt;http://blog.csdn.net/lanphaday/archive/2011/03/31/6291668.aspx&lt;/a&gt; 看到一道Python面试题，赖总直接强悍地用Pipe写了个示例。我完全不懂Pipe这个模块的用法，试着用传统的方法写了遍。通过这道题，我发现正则语句&amp;#8221;\W&amp;#8221;很霸气。&lt;/p&gt;
&lt;p&gt;题目是这样的：&lt;/p&gt;
&lt;p&gt;读取文件，统计文件中每个单词出现的次数，然后按照次数高低排序。&lt;/p&gt;
&lt;p&gt;代码如下&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#! /usr/bin/env python&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;
addr=&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;/home/yarkee/test.txt&amp;quot;&lt;/span&gt;
f=&lt;span style=&quot;color: #008000;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;addr,&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;rb&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
p=&lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;.&lt;span style=&quot;color: #008000;&quot;&gt;compile&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #483d8b;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\W&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#\W equals to [^a-zA-Z0-9] &lt;/span&gt;
text=f.&lt;span style=&quot;color: black;&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
wn=&lt;span style=&quot;color: #dc143c;&quot;&gt;re&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;p,text&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#a list contain all the words&lt;/span&gt;
wd=&lt;span style=&quot;color: black;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#125;&lt;/span&gt;	&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#a dic to count the appearence times&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;,&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;!&lt;/span&gt;=&lt;span style=&quot;color: #483d8b;&quot;&gt;''&lt;/span&gt;:
	wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;=wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
	wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;=wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: black;&quot;&gt;lower&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
	&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; wd:
	    wd&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;+=&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;
	&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;else&lt;/span&gt;:
	    wd&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;wn&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;=&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;
wl=&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;k,v&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; k,v &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; wd.&lt;span style=&quot;color: black;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;sorted&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;wl,key=&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;lambda&lt;/span&gt; x:x&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;,reverse=&lt;span style=&quot;color: #008000;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;	&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#sort desc by times&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896303/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896303/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/03/python-token-count.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>今天在珠三角技术沙龙发起者赖总的博客上 http://blog.csdn.net/lanphaday/archive/2011/03/31/6291668.aspx 看到一道Python面试题，赖总直接强悍地用Pipe写了个示例。我完全不懂Pipe这个模块的用法，试着用传统的方法写了遍。通过这道题，我发现正则语句&amp;#8221;\W&amp;#8221;很霸气。 题目是这样的： 读取文件，统计文件中每个单词出现的次数，然后按照次数高低排序。 代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #! /usr/bin/env python import re addr=&amp;#34;/home/yarkee/test.txt&amp;#34; f=open&amp;#40;addr,&amp;#34;rb&amp;#34;&amp;#41; p=re.compile&amp;#40;&amp;#34;\W&amp;#34;&amp;#41;; #\W equals to [^a-zA-Z0-9] text=f.read&amp;#40;&amp;#41; wn=re.split&amp;#40;p,text&amp;#41; #a list contain all the words wd=&amp;#123;&amp;#125; #a dic to count the appearence times for i in range&amp;#40;0,len&amp;#40;wn&amp;#41;&amp;#41;: [...]&lt;img src=&quot;http://www1.feedsky.com/t1/513896303/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896303/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>python</category><category>编程</category><pubDate>Thu, 31 Mar 2011 21:39:09 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/03/python-token-count.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=400</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/03/python-token-count.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896303/6199292</fs:itemid></item><item><title>Python实现快速排序</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896304/6199292/1/item.html</link><content:encoded>&lt;p&gt;
&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:      ＃The argument should be a &lt;span style=&quot;color: #008000;&quot;&gt;list&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;not&lt;/span&gt; L:&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; x&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;lt;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;+L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;+\
	    qsort&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;for&lt;/span&gt; x &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;in&lt;/span&gt; L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;if&lt;/span&gt; x&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896304/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896304/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/03/python-quicksort.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>1 2 3 4 def qsort&amp;#40;L&amp;#41;: ＃The argument should be a list if not L:return &amp;#91;&amp;#93; return qsort&amp;#40;&amp;#91;x for x in L&amp;#91;1:&amp;#93; if x&amp;#60;L&amp;#91;0&amp;#93;&amp;#93;&amp;#41;+L&amp;#91;0:1&amp;#93;+\ qsort&amp;#40;&amp;#91;x for x in L&amp;#91;1:&amp;#93; if x&amp;#62;=L&amp;#91;0&amp;#93;&amp;#93;&amp;#41;&lt;img src=&quot;http://www1.feedsky.com/t1/513896304/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896304/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>快速排序</category><category>python</category><category>编程</category><pubDate>Thu, 10 Mar 2011 23:39:17 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/03/python-quicksort.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=388</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/03/python-quicksort.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896304/6199292</fs:itemid></item><item><title>Linux下的解压缩命令一堆</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896305/6199292/1/item.html</link><content:encoded>&lt;p&gt;按格式来，Linux下常用的解压缩命令有这样一些。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.tar&lt;/p&gt;
&lt;p&gt;解压:  tar xvf TarFile.tar&lt;/p&gt;
&lt;p&gt;压缩:  tar cvf TarFile.tar SourceFile&lt;/p&gt;
&lt;p&gt;实际上，tar只是打文件给打包，而并没有实施压缩。x选项代表压缩，c选项代表解压。f选项必不可少，无论是解压还是压缩，f代表需要tar文档文件名作用命令的参数。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.gz&lt;/p&gt;
&lt;p&gt;解压:  gzip -d GzipFile.gz&lt;/p&gt;
&lt;p&gt;压缩:  gzip SourceFile&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.tar.gz&lt;/p&gt;
&lt;p&gt;解压:  tar zxvf TarFile.tar.gz&lt;/p&gt;
&lt;p&gt;压缩:  tar zcvf  TarFIle.tar.gz SourceDir&lt;/p&gt;
&lt;p&gt;为什么有了.gz，还要有.tar.gz呢？因为用来解压缩.gz文件的gzip命令不方便对多个文件进行操作，如果有一个文件夹SourceDir需要压缩，就可以先打包成.tar，然后再压缩，把打包和压缩的过程用一条命令表示，就是上面这条命令了。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.bz2&lt;/p&gt;
&lt;p&gt;解压:  bzip2 -d Bzip2File.bz2&lt;/p&gt;
&lt;p&gt;压缩:  bzip2 Bzip2FIle.bz2 SourceFile&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.tar.bz2&lt;/p&gt;
&lt;p&gt;解压:  tar jxvf Bzip2File.tar.bz2&lt;/p&gt;
&lt;p&gt;压缩:  tar jcvf Bzip2File.tar.bz2 SourceDir&lt;/p&gt;
&lt;p&gt;.tar.bz2存在的意义与.tar.gz相同&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-379&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;.Z&lt;/p&gt;
&lt;p&gt;解压：uncompress ZFile.Z&lt;/p&gt;
&lt;p&gt;压缩：compress SourceFile&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.tar.Z&lt;/p&gt;
&lt;p&gt;解压：tar Zxvf ZFile.tar.Z&lt;/p&gt;
&lt;p&gt;压缩：tar Zcvf ZFile.tar.Z SourceDir&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.zip&lt;/p&gt;
&lt;p&gt;解压:  unzip ZipFile.zip&lt;/p&gt;
&lt;p&gt;压缩:  zip ZipFile.zip SourceDir&lt;/p&gt;
&lt;p&gt;zip和unzip命令可以对文件夹进行解压缩，不需要额外打包成.tar文档&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;.rar&lt;/p&gt;
&lt;p&gt;解压:  unrar x RarFile.rar  (用rar本身也可以用来解压文件，如命令rar x RarFile.rar，但rar解压不支持压缩文件中含有中文文件名)&lt;/p&gt;
&lt;p&gt;压缩:  rar a RarFile.rar SourceDir&lt;/p&gt;
&lt;p&gt;rar命令也可以对文件夹进行解压缩&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896305/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896305/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/03/linux%e4%b8%8b-extract.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>按格式来，Linux下常用的解压缩命令有这样一些。 &amp;#160; .tar 解压:  tar xvf TarFile.tar 压缩:  tar cvf TarFile.tar SourceFile 实际上，tar只是打文件给打包，而并没有实施压缩。x选项代表压缩，c选项代表解压。f选项必不可少，无论是解压还是压缩，f代表需要tar文档文件名作用命令的参数。 &amp;#160; .gz 解压:  gzip -d GzipFile.gz 压缩:  gzip SourceFile &amp;#160; .tar.gz 解压:  tar zxvf TarFile.tar.gz 压缩:  tar zcvf  TarFIle.tar.gz SourceDir 为什么有了.gz，还要有.tar.gz呢？因为用来解压缩.gz文件的gzip命令不方便对多个文件进行操作，如果有一个文件夹SourceDir需要压缩，就可以先打包成.tar，然后再压缩，把打包和压缩的过程用一条命令表示，就是上面这条命令了。 &amp;#160; .bz2 解压:  bzip2 -d Bzip2File.bz2 压缩:  bzip2 Bzip2FIle.bz2 SourceFile &amp;#160; .tar.bz2 解压:  tar jxvf Bzip2File.tar.bz2 压缩:  tar jcvf Bzip2File.tar.bz2 SourceDir [...]&lt;img src=&quot;http://www1.feedsky.com/t1/513896305/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896305/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>gz</category><category>Linux</category><category>zip</category><category>tar</category><category>bz2</category><category>rar</category><pubDate>Thu, 10 Mar 2011 20:11:56 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/03/linux%e4%b8%8b-extract.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=379</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/03/linux%e4%b8%8b-extract.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896305/6199292</fs:itemid></item><item><title>用Python计算最大公约数GCD</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896306/6199292/1/item.html</link><content:encoded>&lt;p&gt;Python语言，辗转相除法求多个数的最大公约数，可以是2个，3个，……XX个数的公约数，这些数全部扔到T这个元组里面就行了。&lt;/p&gt;
&lt;p&gt;这个例子，求256，4096，8192的最大公约数，结果当然是256了。&lt;/p&gt;
&lt;p&gt;Python也太简洁了吧……&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td class=&quot;line_numbers&quot;&gt;&lt;pre&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre class=&quot;python&quot; style=&quot;font-family:monospace;&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#! /usr/bin/env python&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;def&lt;/span&gt; gcd&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;argv&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;:
    L=&lt;span style=&quot;color: #008000;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;argv&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;:
        a=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span style=&quot;color: #ff4500;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
        b=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span style=&quot;color: #ff4500;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
        L=L&lt;span style=&quot;color: black;&quot;&gt;&amp;#91;&lt;/span&gt;:&lt;span style=&quot;color: #008000;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;L&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;-&lt;span style=&quot;color: #ff4500;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;while&lt;/span&gt; b:
            a,b=b,a&lt;span style=&quot;color: #66cc66;&quot;&gt;%&lt;/span&gt;b
        L.&lt;span style=&quot;color: black;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;a&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;return&lt;/span&gt; a
&amp;nbsp;
T=&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #ff4500;&quot;&gt;256&lt;/span&gt;,&lt;span style=&quot;color: #ff4500;&quot;&gt;4096&lt;/span&gt;,&lt;span style=&quot;color: #ff4500;&quot;&gt;8192&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span style=&quot;color: #ff7700;font-weight:bold;&quot;&gt;print&lt;/span&gt; gcd&lt;span style=&quot;color: black;&quot;&gt;&amp;#40;&lt;/span&gt;T&lt;span style=&quot;color: black;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896306/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896306/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2011/01/python-gcd.html/feed</wfw:commentRss><slash:comments>1</slash:comments><description>Python语言，辗转相除法求多个数的最大公约数，可以是2个，3个，……XX个数的公约数，这些数全部扔到T这个元组里面就行了。 这个例子，求256，4096，8192的最大公约数，结果当然是256了。 Python也太简洁了吧…… 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #! /usr/bin/env python &amp;#160; def gcd&amp;#40;argv&amp;#41;: L=list&amp;#40;argv&amp;#41; while len&amp;#40;L&amp;#41;&amp;#62;1: a=L&amp;#91;len&amp;#40;L&amp;#41;-2&amp;#93; b=L&amp;#91;len&amp;#40;L&amp;#41;-1&amp;#93; L=L&amp;#91;:len&amp;#40;L&amp;#41;-2&amp;#93; while b: a,b=b,a%b L.append&amp;#40;a&amp;#41; return a &amp;#160; T=&amp;#40;256,4096,8192&amp;#41; print gcd&amp;#40;T&amp;#41;&lt;img src=&quot;http://www1.feedsky.com/t1/513896306/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896306/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>python</category><category>编程</category><category>gcd</category><pubDate>Sun, 23 Jan 2011 23:08:48 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2011/01/python-gcd.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=371</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2011/01/python-gcd.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896306/6199292</fs:itemid></item><item><title>笔试题，输出一句”Hello world!”</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896307/6199292/1/item.html</link><content:encoded>&lt;p&gt;题目是这样的:请在下面的*号处填写一段代码,使输出&amp;#8221;Hello world!&amp;#8221;.&lt;/p&gt;
&lt;p&gt;#include &amp;#8220;stdio.h&amp;#8221;&lt;br /&gt;
 void print () {&lt;br /&gt;
 *&lt;br /&gt;
 }&lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 }&lt;/p&gt;
&lt;p&gt;在论坛上看到此题，不是如何下手。主函数是空的，一切工作都在在print函数中进行。&lt;/p&gt;
&lt;p&gt;不过，很快我就看到了一个另辟蹊径的妙解。先思考下，然后见此文底部&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-352&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;华丽的分割线&lt;/p&gt;
&lt;p&gt;＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;
&lt;p&gt;在*号处输入如下内容:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;} &lt;br /&gt;
 &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;void main() &lt;br /&gt;
 {&lt;/span&gt;&lt;span&gt; printf(&amp;#8220;hello world!&amp;#8221;); &lt;/span&gt;&lt;span&gt;} &lt;br /&gt;
 &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;#define main tmp_func &lt;br /&gt;
 &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;void func()&lt;br /&gt;
 {&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;_________________________________________&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;华丽的分割线。&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;这个解法很犀利，先用一个右花括号把print函数原来的左花括号匹配号，这个print函数就没动作了。&lt;/p&gt;
&lt;p&gt;然后自己写一个main函数，输出要求的内容。&lt;/p&gt;
&lt;p&gt;接下来宏定义，这样最后面的那个main函数便不起作用了，避免了存在两个main函数的冲突。&lt;/p&gt;
&lt;p&gt;最后，需要写一个空的func函数，把原来print函数的右花括号匹配掉。&lt;/p&gt;
&lt;p&gt;此程序在gcc下可正常编译并运行。&lt;/p&gt;
&lt;p&gt;当然，这种解法更像是在考发散思维，不是在考语言基础及算法能力。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896307/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896307/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2010/11/print-hello-world.html/feed</wfw:commentRss><slash:comments>2</slash:comments><description>题目是这样的:请在下面的*号处填写一段代码,使输出&amp;#8221;Hello world!&amp;#8221;. #include &amp;#8220;stdio.h&amp;#8221; void print () { * } void main() { } 在论坛上看到此题，不是如何下手。主函数是空的，一切工作都在在print函数中进行。 不过，很快我就看到了一个另辟蹊径的妙解。先思考下，然后见此文底部 华丽的分割线 ＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ 在*号处输入如下内容: } void main()  { printf(&amp;#8220;hello world!&amp;#8221;); } #define main tmp_func  void func() { _________________________________________ 华丽的分割线。 这个解法很犀利，先用一个右花括号把print函数原来的左花括号匹配号，这个print函数就没动作了。 然后自己写一个main函数，输出要求的内容。 接下来宏定义，这样最后面的那个main函数便不起作用了，避免了存在两个main函数的冲突。 最后，需要写一个空的func函数，把原来print函数的右花括号匹配掉。 此程序在gcc下可正常编译并运行。 当然，这种解法更像是在考发散思维，不是在考语言基础及算法能力。&lt;img src=&quot;http://www1.feedsky.com/t1/513896307/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896307/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>hello world</category><category>编程</category><pubDate>Wed, 03 Nov 2010 01:18:45 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2010/11/print-hello-world.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=352</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2010/11/print-hello-world.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896307/6199292</fs:itemid></item><item><title>UNIX环境高级编程中的apue.h错误</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896308/6199292/1/item.html</link><content:encoded>&lt;p&gt;最近在读 Richard Stevens 的大作《UNIX环境高级编程》，相信很多初读此书的人都会与我一样遇到这个问题，编译书中的程序实例时会出现问题，提示 &amp;#8220;错误：apue.h：没有那个文件或目录&amp;#8221;。&lt;/p&gt;
&lt;p&gt;apue.h 是作者自定义的一个头文件，并不是Unix/Linux系统自带的，此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下，gcc在编译时是读不到这个头文件的。&lt;/p&gt;
&lt;p&gt;先在这个网站 &lt;a href=&quot;http://www.apuebook.com/&quot;&gt;http://www.apuebook.com/&lt;/a&gt; 下载tar.gz格式的源码包，然后解压至某个目录，比如说/home/yarkee/下，然后进入目录apue.2e，把文件Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为 WKDIR=/home/yarkee/apue.2e ，然后再进入apue.2e目录下的std目录，打开linux.mk，将里面的nawk全部替换为awk，如果是用的vi/vim编辑器，可以使用这个命令  :1.$s/nawk/awk/g （注意前面有冒号）&lt;br /&gt;
然后在此目录下运行make命令，即回到 /home/yarkee/apue.2e 目录在终端中输入 &amp;#8220;./make&amp;#8221; (不含引号)&lt;/p&gt;
&lt;p&gt;然后把 /home/yarkee/apue.2e/inlcude 目录下的 apue.h 文件和位于 /home/yarkee/apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下，注意复制这两个文件你需要有root权限。之所以要这样做，是因为gcc在链接头文件时会到 /usr/include 这个目录下寻找需要的头文件，若找不到则报错。&lt;/p&gt;
&lt;p&gt;最终还要编辑一下复制过来的 apue.h 文件&lt;br /&gt;
 在最后一行 #endif 前面添加一行 #include &amp;#8220;error.c&amp;#8221;&lt;/p&gt;
&lt;p&gt;这样就不会报错了。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896308/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896308/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2010/09/apue-h.html/feed</wfw:commentRss><slash:comments>5</slash:comments><description>最近在读 Richard Stevens 的大作《UNIX环境高级编程》，相信很多初读此书的人都会与我一样遇到这个问题，编译书中的程序实例时会出现问题，提示 &amp;#8220;错误：apue.h：没有那个文件或目录&amp;#8221;。 apue.h 是作者自定义的一个头文件，并不是Unix/Linux系统自带的，此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下，gcc在编译时是读不到这个头文件的。 先在这个网站 http://www.apuebook.com/ 下载tar.gz格式的源码包，然后解压至某个目录，比如说/home/yarkee/下，然后进入目录apue.2e，把文件Make.defines.linux 中的 WKDIR=/home/xxx/apue.2e 修改为 WKDIR=/home/yarkee/apue.2e ，然后再进入apue.2e目录下的std目录，打开linux.mk，将里面的nawk全部替换为awk，如果是用的vi/vim编辑器，可以使用这个命令  :1.$s/nawk/awk/g （注意前面有冒号） 然后在此目录下运行make命令，即回到 /home/yarkee/apue.2e 目录在终端中输入 &amp;#8220;./make&amp;#8221; (不含引号) 然后把 /home/yarkee/apue.2e/inlcude 目录下的 apue.h 文件和位于 /home/yarkee/apue.2e/lib 目录下的 error.c 文件都复制到 /usr/include 目录下，注意复制这两个文件你需要有root权限。之所以要这样做，是因为gcc在链接头文件时会到 /usr/include 这个目录下寻找需要的头文件，若找不到则报错。 最终还要编辑一下复制过来的 apue.h 文件 在最后一行 #endif 前面添加一行 #include &amp;#8220;error.c&amp;#8221; 这样就不会报错了。&lt;img src=&quot;http://www1.feedsky.com/t1/513896308/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896308/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux</category><category>UNIX环境高级编程</category><category>apue.h</category><pubDate>Wed, 29 Sep 2010 10:12:09 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2010/09/apue-h.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=324</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2010/09/apue-h.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896308/6199292</fs:itemid></item><item><title>linux下小巧实用的截图工具scrot</title><link>http://item.feedsky.com/~feedsky/yarkee/~8093741/513896309/6199292/1/item.html</link><content:encoded>&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div id=&quot;_mcePaste&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;scrot是linux下小巧而实用的截图工具，它采用基于命令行的工作方式。使用起来很方便。以ubuntu为例介绍scrot的使用方法&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;安装:    sudo apt-get install scrot&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;1.抓取整个桌面:    scrot pic1.jpg    #此命令将抓取整个桌面，并且生成名字为pic1.jpg的截图保存在当前目录下&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;2.抓取窗口:    scrot -bs pic2.jpg    #此命令将抓取一个窗口，选项b使得抓取窗口时一并抓取其边框，选项s使得用户可以用鼠标选定抓取的是哪个窗口(在想抓取的窗口上用鼠标点一下)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;3.区域截图:    scrot -s pic3.jpg    #此命令用于矩形区域截图，用鼠标选定想截图的矩形区域&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;4.定时截图:    scrot -cd 10 pic4.jpg    #此命令用于定时截图，选项d后接数字10，代表定时为10秒钟，选项c显示倒计时&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;5.生成缩略图:    scrot -t 70% pic5.jpg    #此命令除了生成pic5.jpg外，还会生成名字为pic5-thumb.jpg缩略百分比为70％的缩略图&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-size: small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;font-size: small;&quot;&gt;6.更改截图品质:    scrot -q 80 pic6.jpg    #此命令选项q用于决定截图的品质，数值介于1-100之间，数值越大，品质越好，占用的空间也越大。默认为75.&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;br class=&quot;spacer_&quot; /&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/513896309/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896309/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.yarkee.net/2010/09/scrot.html/feed</wfw:commentRss><slash:comments>0</slash:comments><description>scrot是linux下小巧而实用的截图工具，它采用基于命令行的工作方式。使用起来很方便。以ubuntu为例介绍scrot的使用方法 安装:    sudo apt-get install scrot 1.抓取整个桌面:    scrot pic1.jpg    #此命令将抓取整个桌面，并且生成名字为pic1.jpg的截图保存在当前目录下 2.抓取窗口:    scrot -bs pic2.jpg    #此命令将抓取一个窗口，选项b使得抓取窗口时一并抓取其边框，选项s使得用户可以用鼠标选定抓取的是哪个窗口(在想抓取的窗口上用鼠标点一下) 3.区域截图:    scrot -s pic3.jpg    #此命令用于矩形区域截图，用鼠标选定想截图的矩形区域 4.定时截图:    scrot -cd 10 pic4.jpg    #此命令用于定时截图，选项d后接数字10，代表定时为10秒钟，选项c显示倒计时 5.生成缩略图:    scrot -t 70% pic5.jpg    #此命令除了生成pic5.jpg外，还会生成名字为pic5-thumb.jpg缩略百分比为70％的缩略图 6.更改截图品质:    scrot -q 80 pic6.jpg    #此命令选项q用于决定截图的品质，数值介于1-100之间，数值越大，品质越好，占用的空间也越大。默认为75.&lt;img src=&quot;http://www1.feedsky.com/t1/513896309/yarkee/feedsky/s.gif?r=http://item.feedsky.com/~feedsky/yarkee/~8093741/513896309/6199292/1/item.html&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>Linux</category><category>scrot</category><category>linux截图工具</category><pubDate>Fri, 24 Sep 2010 20:27:34 +0800</pubDate><author>Yarkee</author><comments>http://www.yarkee.net/2010/09/scrot.html#comments</comments><guid isPermaLink="false">http://www.yarkee.net/?p=320</guid><dc:creator>Yarkee</dc:creator><fs:srclink>http://www.yarkee.net/2010/09/scrot.html</fs:srclink><fs:srcfeed>http://yarkee.net/feed</fs:srcfeed><fs:itemid>feedsky/yarkee/~8093741/513896309/6199292</fs:itemid></item></channel></rss>
