你会推荐哪本Python书给Linux系统管理员?
《Python在Unix和Linux系统管理中的应用》是一本专门为系统管理员准备的书。除了这本书,还有其他推荐的吗?
8 个回答
3
我推荐《Dive into Python》和《Python in a Nutshell》这两本书,都是很不错的学习资料。此外,我还强烈推荐effbot的《Guide to the Standard Library》,这本书对Python的标准库有很好的介绍。你可能还想看看《Python Cookbook》,里面有很多地道的Python代码示例,能帮助你更好地理解Python的用法。还有《Foundations of Python Networking》,这本书可以接着《SysAdmin》那本书的内容,深入了解网络协议(顺便说一下:所有APress的书都可以找到PDF版本,我觉得这点很棒)。
5
首先,你可以从Python的官方文档开始学习基础知识,文档索引里有很多有用的内容。那里还有教程和库的参考资料。对于系统管理员来说,有一些库是非常有用的,下面列举几个:
- shutil(用于移动或复制文件)
- os,比如:
- os.walk() -> 递归查找目录中的文件
- os.path.join() -> 合并文件路径
- os.getmtime(), os.getatime() -> 获取文件的时间戳
- os.remove(), os.removedirs() -> 删除文件
- os.rename() -> 重命名文件
- sys
- ftplib, telnetlib -> 用于文件传输和telnet连接……
- glob() -> 文件匹配,使用通配符
- re -> 正则表达式,如果你需要用到它(但不是必须的)
- paramiko -> SSH,如果你想使用安全外壳
- socket -> 如果你需要进行网络编程,可以使用这个库……
作为系统管理员,你通常需要读写文件,所以要学习如何做到这一点。
a) 使用for循环
for line in open("file"): print line
b) 使用文件句柄
f=open("file") for line in f: print line f.close()
c) 使用while循环
f=open("file") while 1: line=f.readline() if not line: break print line f.close()
- datetime, time -> 处理日期和时间,比如计算某个日期距离现在有多少天,或者两个日期之间的差异等等。
fileinput -> 用于直接编辑文件。
md5或hashlib -> 计算哈希值,比如用来查找重复文件……
当然,还有很多其他的库,留给你自己去探索。
3
Mark Pilgrim的http://www.diveintopython.net/这个网站非常好,内容也很清晰。