Python 和 bash shell脚本
作为一个初学shell的程序员来说,使用shell的一些命令调用,比如就写几行,做一些自动化的操作,简单又实用,但是涉及逻辑控制和
字符串处理时,看到那if/fi,case/esac……还有古离古怪的布尔判断……还有复杂而又名字很响而且很老资格的sed、awk……我就想,
在没有非要在shell中写的命令的时候,干嘛不用python呢?
当真有非要在shell中写的命令的时候, shell和python合起来也很HI呀,想想1K行的shell和1K行的python读起来、写起来、调试起来、维护起来有什么区别。
QUOTE:
应用python编写shell脚本
今天同事叫我编写一个shell脚本。话说,虽然我受*nix的影响甚深,但是对于*nix里随处可见的sh脚本却是讨厌之极。为什么讨厌呢?首先 是因为sh脚本那莫名其妙的语法,感觉就像随写随扔的程序,完全没有任何美感可言。其次是sh脚本的处理能力还是比较弱的,在文本处理、XML处理还有网 络编程方面,基本上都要借助于perl,awk等一堆程序。我对这些程序也是不大喜欢的,况且学习第三方软件总要时间,还不如都用python好了。
那,python可以做shell脚本吗? 首先介绍一个函数:
os.system(command)
这个函数可以调用shell运行命令行command并且返回它的返回值。试一下在python的解释器里输入os.system(”ls -l”),就可以看到”ls”列出了当前目录下的文件。可以说,通过这个函数,python就拥有了shell的所有能力。呵呵。。不过,通常这条命令不 需要用到。因为shell常用的那些命令在python中通常有对应而且同样简洁的写法。
shell中最常用的是ls命令,python对应的写法是:os.listdir(dirname),这个函数返回字符串列表,里面是所有的文件名,不过不包含”.”和”..”。如果要遍历整个目录的话就会比较复杂一点。我们等下再说吧。先在解释器里试一下:
>>> os.listdir(”/”)
[’tmp’, ‘misc’, ‘opt’, ‘root’, ‘.autorelabel’, ’sbin’, ’srv’, ‘.autofsck’, ‘mnt’, ‘usr’, ‘var’, ‘etc’, ’selinux’, ‘lib’, ‘net’, ‘lost+found’, ’sys’, ‘media’, ‘dev’, ‘proc’, ‘boot&rsq
相关文档:
在Python中有一个非常重要也非常好用的模块re,在import re后,就能够在Python中使用正则表达式,源于此次项目要用正则表达式对html代码提取一定的字符,所以在这也就用些小例子来熟悉一下正则表达式
现在就用最简单的例子
import re
s='<title>http://www.baidu.com</title>'
print re.findall(r'&l ......
作者:taowen, billrice
http://www.cnblogs.com/taowen/articles/11239.html
Lesson 1 准备好学习Python的环境
下载的地址是:
www.python.org
为了大家的方便,我在校内作了copy:
http://10.1.204.2/tool/compiler&IDE/Python-2.3.2-1.exe
linux版本的我就不说了,因为如果你能够使用linux并安装好说明你可以 ......
有很多种子文件,有时候记不清里面都是什么东西,又不想一个一个的拖放到迅雷或BT软件里头看,
上网查了一下Python的脚本,自己也稍微修改了一下,代码如下,粘贴到文本编辑器中(最好是带格式的如UltraEdit或VS2008等):
保存成py后缀的,直接运行
import re
def tokenize(text, match=re.compile("([idel])|(\d+):|( ......
可恶、可悲、可耻、可怜、可叹、可笑!!!
2009年10月15日,一个令广大python编程工作爱好者哭笑不得的事发生了——python的官方网站(http://www.python.org)被伟大的天朝给封了!
当时,有人说是因为有一个H网站和python的官网很像,封错了。于是,我试着打开了那个“相似的网站http://www.python.com ......