官方文档有句话"allows you to call any program",并且:

helps you write shell scripts in Python by giving you the good features of Bash

第一句话助你在Python中轻松调用自己的程序,第二句则给你机会和Shell这种土豪交朋友

㈠ 调用系统的程序

[python]

>>> import sh

>>> print(sh.ls('/home/mysql'))

cdio_bak.sql  mysql-5.5.16.tar.gz

mm        percona-xtrabackup-2.1.4-656-Linux-i686.tar.gz

mysql         percona-xtrabackup-2.1.4-Linux-i686

mysql-5.5.16  startmysql.sh

㈡ 调用自己的程序

[python]

>>> import sh

>>> r=sh.Command('/root/dd.py')

>>> r()

hello,DBA

㈢ bake命令参数

[python]

>>> import sh

>>> du=sh.du.bake('-shc')

>>> print (du('/home/mysql'))

1.1G    /home/mysql

1.1G    总计

㈣ glob列出文件

[python]

>>> import sh

>>> list=sh.glob('/root/mm/*')

>>> print list

['/root/mm/Backup', '/root/mm/Usplash', '/root/mm/AWN', '/root/mm/Wallpapers', '/root/mm/GRUB', '/root/mm/Mozilla']

㈤ 管道

[python]

>>> print(sh.sort(sh.du(sh.glob('*'),'-shc'),'-rn'))

712K    distribute-0.6.49.tar.gz

672K    setuptools-1.1.5.tar.gz

548K    get-pip.py

管道是有序的,默认由内而外,但如果需要并行呢?加个_piped=True

[python]

>>> for line in sh.tr(sh.tail("-f", "/home/mysql/mysql/log/alert.log", _piped=True), "[:upper:]", "[:lower:]", _iter=True):

...   print line

...

innodb: doublewrite buffer not found: creating new

innodb: doublewrite buffer created

innodb: 127 rollback segment(s) active.

innodb: creating foreign key constraint system tables

innodb: foreign key constraint system tables created  

最新文章

  1. [LeetCode] Valid Phone Numbers 验证电话号码
  2. 【Thinking in Java】Java Callable的使用
  3. 如何判断js中对象的类型
  4. U盘启动笔记本无法安装Win7问题和解决
  5. JS实现图片上传预览效果:方法一
  6. 栈的的链式实例LinkStack实现
  7. Windbg命令
  8. Android工程师必会做的20道题
  9. Myeclipse新建 配置Hibernate
  10. Java-面向对象总结
  11. 用于文件系统的C库函数
  12. Intellij idea破解办法
  13. Sagit.Framework For IOS 开发框架入门教程6:网络请求STHttp
  14. python 有参装饰器与迭代器
  15. MongoDB学习总结(二)
  16. 转载:abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?
  17. 关于Strategy和State设计模式
  18. VC字符串处理整理
  19. Alpha冲刺(1/10)——追光的人
  20. 【BZOJ】1299: [LLH邀请赛]巧克力棒

热门文章

  1. vs2010 does not have a strong name
  2. MySQL事务在MGR中的漫游记—路线图
  3. 函数返回值string与返回值bool区别------c++程序设计原理与实践(进阶篇)
  4. mac下redis和zookeeper启动及测试命令
  5. Jenkins忘记密码
  6. mysql相关的软件
  7. 【bzoj2437】[Noi2011]兔兔与蛋蛋 二分图最大匹配+博弈论
  8. 单选框radio总结(获取值、设置默认选中值、样式)
  9. CentOS 7 设置日期和时间
  10. rest-assured之静态导入及简单使用实例