• 使用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

  • 相关阅读:
    426 根据gop 讲解x264整个过程
    426 x264全局 完整有些东西还没理解
    SAD SATD转过来的
    帧内预测1
    4.1总结
    426 大话dct
    426 pixel赋值问题 mbcmp函数 宏定义
    426 pts dts
    每天进步一点点IAR for ARM_V6.30.1
    每天进步一点点NIOS II按键中断程序
  • 原文地址:https://www.cnblogs.com/niansi/p/7541405.html
Copyright © 2020-2023  润新知