我有一些Bash的经验,我不介意,但现在我正在做很多Windows开发,我需要做基本的东西/使用Windows命令行语言编写基本脚本.出于某种原因,这种语言真的让我很恼火,所以我正在考虑学习Python并使用它.
Python适合这样的东西吗?移动文件,创建脚本来执行诸如解压缩备份和恢复SQL数据库等操作.
Python非常适合这些任务,我认为开发和调试比Windows批处理文件更容易.
问题是,我认为,确保所有运行这些脚本的计算机都安装了Python是多么容易和轻松.
Windows:无需思考,使用Python. Unix:快速或一次性运行脚本用于Bash,严重和/或长寿命脚本适用于Python.
在Windows环境中,Python绝对是最好的选择,因为cmd很糟糕且PowerShell还没有真正解决.Python可以在多个平台上运行,因此这是一个更好的投资.最后,Python有一套庞大的库,所以你几乎永远不会碰到"上帝 - 我不能做那个"的墙.对于cmd和PowerShell,情况并非如此.
在Linux环境中,这有点不同.在纯Bash中,许多一个衬垫更短,更快,更高效并且通常更具可读性.但是如果你知道你的快速和肮脏的脚本会保留一段时间或者需要改进,那么选择Python,因为它更容易维护和扩展,你将能够完成大部分任务. GNU工具与标准库.如果你不能,你仍然可以从Python脚本调用命令行.
当然,您可以使用-c选项从shell调用Python:
python -c "for line in open('/etc/fstab') : print line"
有关Python的更多文献用于系统管理任务:
IBM实验室的观点.
将bash和python与脚本报告进行比较的一个很好的例子.
基础知识.
必备书.
当然,python是这些任务的一个非常好的选择(我相信很多人会推荐PowerShell).
从这个角度来看,这是一个很好的介绍:
http://www.redhatmagazine.com/2008/02/07/python-for-bash-scripters-a-well-kept-secret/
编辑:关于gnud的关注:http://www.portablepython.com/
你知道PowerShell吗?
@BKB肯定有一个有效的担忧.如果您遇到标准库无法解决的任何问题,请查看以下几个链接:
Pywin32是一个用于处理低级别win32 API的包(高级文件系统修改,COM接口等)
Tim Golden的Python页面:他维护了一个基于Pywin32构建的WMI包装器包,但是请务必查看他的"Win32 How Do I"页面,了解如何在Python中完成典型的Windows任务.