<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-15696780</id><updated>2012-02-16T17:53:46.214+08:00</updated><category term='ubuntu'/><category term='python'/><category term='subversion'/><title type='text'>GuYingbo的博客</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://guyingbo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://guyingbo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>GuYingbo</name><uri>http://www.blogger.com/profile/03964840452206812573</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-15696780.post-8355076390147477519</id><published>2007-10-15T10:37:00.000+08:00</published><updated>2007-10-15T10:51:04.215+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>恢复 ubuntu 中 subversion 到旧版本</title><content type='html'>&lt;p&gt;今早升级 ubuntu 后 subversion 就出问题了，更新和提交都不能用了，subversion 可是每天的必备工具，估计很多人都跟我一样，没有它不能干活吧。没关系，执行下面的命令就可以恢复旧版本的 subversion：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;code&gt;sudo apt-get install subversion=1.4.3dfsg1-1ubuntu1 libsvn1=1.4.3dfsg1-1ubuntu1&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;没有升级 ubuntu 的就先别升级这两个(subversion, libsvn1)软件包了，等到 ubuntu 把这个 bug 解决了再升吧。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15696780-8355076390147477519?l=guyingbo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://guyingbo.blogspot.com/feeds/8355076390147477519/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15696780&amp;postID=8355076390147477519' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/8355076390147477519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/8355076390147477519'/><link rel='alternate' type='text/html' href='http://guyingbo.blogspot.com/2007/10/ubuntu-subversion.html' title='恢复 ubuntu 中 subversion 到旧版本'/><author><name>GuYingbo</name><uri>http://www.blogger.com/profile/03964840452206812573</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15696780.post-6106179596487038657</id><published>2007-08-08T16:06:00.000+08:00</published><updated>2007-08-08T17:31:23.942+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>ipython介绍</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp;ipython 是一个 python 的交互式 shell，比默认的 python shell 好用得多，支持变量自动补全，自动缩近，支持 bash shell 命令，内置了许多很有用的功能和函数。在 ubuntu 下只要 sudo apt-get install ipython 就装好了，通过 ipython 启动。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;下面是 ipython 中几个简单好用的 magic 函数:&lt;br /&gt;&lt;dl&gt;&lt;br /&gt;&lt;dt&gt;%bg function&lt;/dt&gt;&lt;dd&gt;把 function 放到后台执行，例如: %bg myfunc(x, y, z=1)，之后可以用jobs将其结果取回。myvar = jobs.result(5) 或 myvar = jobs[5].result。另外，jobs.status() 可以查看现有任务的状态。&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%ed 或 %edit&lt;/dt&gt;&lt;dd&gt;编辑一个文件并执行，如果只编辑不执行，用 ed -x filename 即可。&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%env&lt;/dt&gt;&lt;dd&gt;显示环境变量&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%hist 或 %history&lt;/dt&gt;&lt;dd&gt;显示历史记录&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%macro name n1-n2 n3-n4 ... n5 .. n6 ...&lt;/dt&gt;&lt;dd&gt;创建一个名称为 name 的宏，执行 name 就是执行 n1-n2 n3-n4 ... n5 .. n6 ... 这些代码。&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%pwd&lt;/dt&gt;&lt;dd&gt;显示当前目录&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%pycat filename&lt;/dt&gt;&lt;dd&gt;用语法高亮显示一个 python 文件(不用加.py后缀名)&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%save filename n1-n2 n3-n4 ... n5 .. n6 ...&lt;/dt&gt;&lt;dd&gt;将执行过多代码保存为文件&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%time statement&lt;/dt&gt;&lt;dd&gt;计算一段代码的执行时间&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;%timeit statement&lt;/dt&gt;&lt;dd&gt;自动选择重复和循环次数计算一段代码的执行时间，太方便了。&lt;/dd&gt;&lt;br /&gt;&lt;/dl&gt;&lt;br /&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;另外，ipython 中用 ! 表示执行 shell 命令，用 $ 将 python 的变量转化成 shell 变量。通过这种两个符号，我们就可以做到和 shell 命令之间的交互，可以非常方便地做许多复杂的工作。比如你可以很方便地创建一组目录:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;for i in range(10):&lt;br /&gt;    s = "dir%s" % i&lt;br /&gt;    !mkdir $s&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;不过写法上还是有一些限制，$ 后面只能跟变量名，不能直接写复杂表达式，$"dir%s"%i 就是错误的写法了，所以要先完全产生 python 的变量以后再用。像&lt;br /&gt;&lt;code&gt;&lt;br /&gt;for i in !ls: print i&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;这样的写法也是错的，可以这样:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;a = !ls&lt;br /&gt;for i in a: print i&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;还有一点需要说明，就是执行普通的 shell 命令中如果有 $ 的话需要用两个 $。比如原来的&lt;code&gt;echo $PATH&lt;/code&gt;现在得写成&lt;code&gt;!echo $$PATH&lt;/code&gt;。&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15696780-6106179596487038657?l=guyingbo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://guyingbo.blogspot.com/feeds/6106179596487038657/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15696780&amp;postID=6106179596487038657' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/6106179596487038657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/6106179596487038657'/><link rel='alternate' type='text/html' href='http://guyingbo.blogspot.com/2007/08/ipython.html' title='ipython介绍'/><author><name>GuYingbo</name><uri>http://www.blogger.com/profile/03964840452206812573</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15696780.post-8505788766707914510</id><published>2007-08-07T15:31:00.000+08:00</published><updated>2007-08-09T14:19:57.176+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>拿ipython当shell用</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp;ipython 不光可以执行 shell 命令，还可以把 shell 和 python 脚本混用。我当前目录下有 1.Wma 到 80.Wma 需要重命名为小写的 1.wma 到 80.wma，可以这么做:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;files = !ls&lt;br /&gt;for f in files:&lt;br /&gt;   !mv $f $f.lower()&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;解释一下: ! 代表执行的 shell 命令，$ 代表以 python 字符串到 shell 字符串的转换。!ls 执行命令的结果 files 是 python 的列表，以 shell 的返回按行分割。&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15696780-8505788766707914510?l=guyingbo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://guyingbo.blogspot.com/feeds/8505788766707914510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15696780&amp;postID=8505788766707914510' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/8505788766707914510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15696780/posts/default/8505788766707914510'/><link rel='alternate' type='text/html' href='http://guyingbo.blogspot.com/2007/08/ipythonshell.html' title='拿ipython当shell用'/><author><name>GuYingbo</name><uri>http://www.blogger.com/profile/03964840452206812573</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry></feed>
