博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python sh库学习 上篇
阅读量:5029 次
发布时间:2019-06-12

本文共 1372 字,大约阅读时间需要 4 分钟。

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

helps you write shell scripts in Python by giving you the good features of Bash
第一句话助你在Python中轻松调用自己的程序,第二句则给你机会和Shell这种土豪交朋友

㈠ 调用系统的程序

 

>>> import sh>>> print(sh.ls('/home/mysql'))cdio_bak.sql  mysql-5.5.16.tar.gzmm	      percona-xtrabackup-2.1.4-656-Linux-i686.tar.gzmysql	      percona-xtrabackup-2.1.4-Linux-i686mysql-5.5.16  startmysql.sh

㈡ 调用自己的程序

 

 

>>> import sh>>> r=sh.Command('/root/dd.py')>>> r()hello,DBA

㈢ bake命令参数

 

 

>>> import sh>>> du=sh.du.bake('-shc')>>> print (du('/home/mysql'))1.1G	/home/mysql1.1G	总计

㈣ glob列出文件

 

 

>>> 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']

㈤ 管道

 

 

>>> print(sh.sort(sh.du(sh.glob('*'),'-shc'),'-rn'))712K	distribute-0.6.49.tar.gz672K	setuptools-1.1.5.tar.gz548K	get-pip.py

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

 

 

>>> 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 newinnodb: doublewrite buffer createdinnodb: 127 rollback segment(s) active.innodb: creating foreign key constraint system tablesinnodb: foreign key constraint system tables created

 

 

By DBA_WaterBin

2013-09-30

Good Luck

 

转载于:https://www.cnblogs.com/james1207/p/3348002.html

你可能感兴趣的文章
机器学习好网站
查看>>
python 中的 sys , os 模块用法总结
查看>>
解题:国家集训队 Middle
查看>>
响应者链
查看>>
指针从函数内部带回返回值
查看>>
在使用webView播放flash或视频文件时无法关闭声音的问题
查看>>
redhat 7 源码安装 mysql5.5.49
查看>>
CCP浅谈
查看>>
NAT虚拟网络配置
查看>>
c#部分---需要实例化的内容;
查看>>
销售类
查看>>
技术项目,问题
查看>>
线程池总结
查看>>
Learning to rank (software, datasets)
查看>>
git常见问题
查看>>
.NETFramework:template
查看>>
HM16.0之帧内模式——xCheckRDCostIntra()函数
查看>>
Jmeter性能测试 入门
查看>>
安卓动画有哪几种?他们的区别?
查看>>
Nodejs学习总结 -Express入门(一)
查看>>