使用sh库执行shell命令
python中执行shell命令
之前执行shell命令多是通过os.system(shell命令)的方式来执行,比较麻烦。
了解到sh是一个比subprocess好的库,能够执行shell命令
1.查看ip:
[root@iZj6cbstl2n6r280a27eppZ myblog]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.31.253.193 netmask 255.255.240.0 broadcast 172.31.255.255
ether 00:16:3e:01:72:ac txqueuelen 1000 (Ethernet)
RX packets 235322 bytes 231762359 (221.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 78402 bytes 15382388 (14.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
用sh完成:
In [13]: from sh import ifconfig
In [14]: print ifconfig("eth0")
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.31.253.193 netmask 255.255.240.0 broadcast 172.31.255.255
ether 00:16:3e:01:72:ac txqueuelen 1000 (Ethernet)
RX packets 236463 bytes 231849592 (221.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 79234 bytes 15505613 (14.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.查看/app目录下的文件:
In [24]: print sh.ls("/app")
git-2.14.1 myblog pyinit.py v2.14.1.tar.gz
In [27]: sh.ls("-l", "/app")
Out[27]:
drwxrwxr-x 26 root root 24576 9?. 12 20:52 git-2.14.1
drwxr-xr-x 6 root root 4096 9?. 13 21:53 myblog
-rw-r--r-- 1 root root 273 9?. 12 20:43 pyinit.py
-rw-r--r-- 1 root root 6983655 9?. 12 20:48 v2.14.1.tar.gz
查看/app下有多少个文件:
In [28]: sh.wc(sh.ls("-l", "/app"), "-l")
Out[28]: 5
3. 将/app下的文件存到列表里:
In [42]: list=sh.glob('/app/*')
In [43]: list
Out[43]: ['/app/git-2.14.1', '/app/v2.14.1.tar.gz', '/app/pyinit.py', '/app/myblog']
4.管道:
In [45]: print(sh.sort(sh.du(sh.glob('/app/*'),'-shc'),'-rn'))
397M ?.?
378M /app/git-2.14.1
13M /app/myblog
6.7M /app/v2.14.1.tar.gz
4.0K /app/pyinit.py
使用sh库执行shell命令的更多相关文章
- node.js在Linux下执行shell命令、.sh脚本
首先,引入子进程模块 var process = require('child_process'); 执行shell命令 调用该模块暴露出来的方法exec process.exec('shutdown ...
- python之commands和subprocess入门介绍(可执行shell命令的模块)
一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. com ...
- Linux远程执行Shell命令或脚本
## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh root@192.168.1.1 'uptime' ## 远程执行本地shell脚本 ...
- Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...
- nodejs 执行shell 命令
有需要从前端操作服务器执行shell命令的需求 建立一个process.js文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var process = ...
- Android执行shell命令
一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", &q ...
- CMake如何执行shell命令
我在cmake编译后想执行一些特定的shell命令(执行.lcov收集代码覆盖报告等),我又不想写到XX.sh的shell脚本中,如何直接通过CMake执行shell命令呢? 在网上翻江倒海了一下,找 ...
- 如何执行shell命令
可使用 git 命令行来执行shell命令,如 D 盘下的一 shell 脚本 test.sh 如下: echo "Hello world" 打开命令行,输入命令执行: 转载请注明 ...
- python中执行shell命令的几个方法小结
原文 http://www.jb51.net/article/55327.htm 最近有个需求就是页面上执行shell命令,第一想到的就是os.system, os.system('cat /proc ...
随机推荐
- 从头认识Spring-1.16 SpEl对集合的操作(1)-建立集合以及訪问集合的元素,以<util:list/>为例
这一章节我们来讨论一下怎样建立集合以及訪问集合的元素? 1.建立集合? (1)domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch ...
- Python库之pyudev (一)
库pyudev是libudev的python封装,libudev提拱了对本地设备的列举与查询API. 1.安装 pip install pyudev 2. 使用 2.1 开始 导入pyudev,验证库 ...
- iOS 中client和server的 Web Service 网络通信 (1)
当你打开你手机上新浪微博应用或者知乎应用是.你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过如何的方法实现的?好.那么接下来就介绍是如何实现的.过程又是怎么样的. 当我们浏览着 ...
- ubuntu 非长期支持版升级系统版本号(ssh登录情况适用)
(1)当前系统为非长期支持版.而且已被废弃,仅仅能逐版本号升级 以当前系统版本号为11.10为例 改动source.list更新源为通用old源,由于原来的源已经不可用 deb http://old- ...
- bzoj1026: [SCOI2009]windy数(传说你是数位DP)
1026: [SCOI2009]windy数 题目:传送门 题解: 其实之前年少无知的时候好像A过...表示当时并不知道什么数位DP 今天回来深造一发... 其实如果对这个算法稍有了解...看到这题的 ...
- 安卓开发--HttpDemo02
package com.cnn.httpdemo02; import android.app.Activity; import android.os.Bundle; import android.vi ...
- BZOJ 1001 平面图与对偶图的转化 最短路Or最大流
思路: 1.按照题意求最小割 转换成最大流用Dinic解 2. 转换成对偶图 求最短路 Dinic: //By SiriusRen #include <queue> #include &l ...
- 实时监控Cat之旅~对Get和Post进行封装,支持分布式消息树
对第三方接口的调用我们需要对GET和POST进行监控,看一些请求的执行是否成功,如A调用B,B调用C,C调用D,这一连串的东西需要我们使用cat进行记录,进行记录之后,我们可以很容易的发现请求响应的时 ...
- 【基础篇】Android中获取Drawable的方法
public static Drawable getDrawable(Context context,String filename) { BitmapDrawable drawable=null; ...
- net实现压缩功能
public static class Compressor { public static byte[] Compress(byte[] data) { using (MemoryStream ou ...