老话题 对SA来说用perl还是python比较好

老话题 对SA来说用perl还是python比较好

我把2本python都看完了 但是我觉得我如果要用python去写脚本来处理日常事务的话
是一件十分麻烦的事情。。因为我可以用shell花费更短更熟练的语句来做到(bash scripting) 有可能是我对python不熟的缘故吧><

perl的话我暂时还没看
但是综合情况来看python应用的更广泛 也是未来被看好的~但是我想只讨论对SA的作用
因为perl的话 就我所知 我熟悉的蛮多东西 比如ldirectory 和很多别人写的系统管理程序 在BASH不能实现的性能下 都是perl写的 真的很多。。而python的反而又很少

= =我也知道青菜萝卜各有所爱 但是就我作为SA来看 perl貌似是使用更多的 而且当时开发perl也是因为要处理大量日志

举个例子 我要把所有#开头的都理出来
shell 直接用个grep
python的话 open("filename").readlines() 然后还要读正则模块 调函数。。等等。。。因为功夫不到家。。做出来还是错的- -
这个真的很打击人- - 。。。。
还有个问题- -我找到了这句话
And unless you know your modules very well, you need to consult the documentation to find out which module to pull in. (Recently, I wanted to use sleep. It wasn't in os, or sys, or even in posix, but in timer (IIRC), which took me half an hour to find out.)
这点我想请教大家是怎么解决的。。。太同感了。。。
sleep?怎么我在chm文档上一搜就看到了sleep() (in module time),熟悉什么用什么,什么问题用什么语言解决起来更方便更简单花的时间更少就用什么。
SA的话还是简单可靠的比较好,继续shell吧
用shell主要的问题是:1)要学的命令太多了 2)有些命令在各个平台上还有些不一样
而使用perl和python的好处是:
1) 它们都是有标准的,不会出现因为平台而不统一的情况
2) 它们还可以做以下的事情, 比如写一个测试客户端测试服务器的, 比如操作数据库, 这是shell不具备的能力(也可能是我的shell玩的不好的缘故)

但是,这并不是说shell不要学,shell是最基本的, 我认为对SA来说掌握shell和perl或者python中一门语言是必备的技能.
至于用perl还是python, 个人的感觉, perl的库相对较全面, 而且正则和文本处理能力似乎更强一些, 如果就SA所面对的那些任务而言, 似乎perl更强悍一些, 我最近才开始学习python.
python perl 包括ruby 都可以扩展shell有限的功能 这才是主要为什么我想学 我也觉得这是必备的
只是 我觉得总结python和perl指导更多倾向于使用他们作为programing 而不是 system admin事务处理
所有 我想如果有朝一日能学好python的话 一定总结出一个SA需要的类,库和函数说明。。。让python对SA更友好。。。
shell,python和perl我三种都学了,而且前两种自认为用的还比较熟练,觉得自己还是应该有点发言权的,对SA来说,平时管理系统用SHELL脚本肯定是最简单的,如果是纯粹的系统管理,很少有问题是shell解决不了的,如果认为写一些系统管理脚本shell解决不了,说明你对shell还不够熟练,那么python和perl呢? 我对python和perl没有什么偏好,最终选择了python主要还是python比perl简单,看完python的入门书后,过一段时间还能记得怎么写程序,但看完perl的入门书后,过一两个月就忘记的差不多了,要重新开始看。 我用python主要解决用shell解决起来比较麻烦或者通用性不好的问题,比如处理文本,要用到awk或者sed的高级功能才能实现时,我宁愿用python实现。至于效率嘛,用到需要高效率的程序,我直接用C语言写。perl的粘滞性比较好,如果要在程序中大量用到系统命令,那么perl肯定比python方便多了。
楼上说的有理。

还是看你自己擅长哪个,习惯用哪个来决定,perl和python做写系统管理或者一些实用的程序都是蛮不错。看你熟练程度来决定用哪个。
perl, python不是每个系统上都预装的,在linux上还好,基本上什么都能用,但unix上可能只能用用shell了。
选择一个学好用好再学另一个。有比较才有选择。