ShellPy 是一款Python和Shell的交互工具。一般来说,我们会通过Subprocess、Popen或者Command模块执行一条Shell命令或脚本,然后通过返回的标准输出和错误输出来得到结果,这个可行但不直观。ShellPy直观的解决了这一问题。

shellpy的主体是Python,总体的编码和Python是一样的,想要嵌入Shell命令的时候,在命令前面加一个 ` (Tab上面那个键,一个右点号)。例如

`ls -l`

或者

`ls -l

也支持多行命令

echo test > test.txt
cat test.txt

长命令

`echo This is \
  a very long \
  line

也可以把返回结果赋值给一个变量

result = `ls -l

输出一个命令的返回码

result = `ls -l
print result.returncode

获取标准输入输出文本

result = `ls -l
result_text = result.stdout
result_error = result.stderr

逐行遍历文本

result = `ls -l
for line in result:
    print line.upper()

Python和Shell交互工具 ShellPy的更多相关文章

  1. 【技术分享】linux各种一句话反弹shell总结——攻击者指定服务端,受害者主机(无公网IP)主动连接攻击者的服务端程序(CC server),开启一个shell交互,就叫反弹shell。

    反弹shell背景: 想要搞清楚这个问题,首先要搞清楚什么是反弹,为什么要反弹.假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规 ...

  2. 【转】为eclipse安装python、shell开发环境和SVN插件

    原文网址:http://www.crazyant.net/1185.html eclipse是一个非常好用的IDE,通常来说我们都用eclipse来开发JAVA程序,为了让开发python.shell ...

  3. libvirt 命令行交互工具之virsh

    libvirt是当前主流VM最低层库.IBM PowerVM也不例外,libvirt是深入玩虚拟化必须玩转的东西; 简单测试玩玩libvirt 的virsh命令行交互工具, 你我都知libvirt大体 ...

  4. 【转】Python之系统交互(subprocess)

    [转]Python之系统交互(subprocess) 本节内容 os与commands模块 subprocess模块 subprocess.Popen类 总结 我们几乎可以在任何操作系统上通过命令行指 ...

  5. Python实现代码统计工具——终极加速篇

    Python实现代码统计工具--终极加速篇 声明 本文对于先前系列文章中实现的C/Python代码统计工具(CPLineCounter),通过C扩展接口重写核心算法加以优化,并与网上常见的统计工具做对 ...

  6. python入门科普IDE工具和编译环境

            应友人之邀,今天来讲述python的一些入门内容.本次讲解的并不是语法或者某个模块.                  python下载安装 大多数 Linux 发行版在默认安装的情况 ...

  7. Python IDE集成开发工具

    Python IDE集成开发工具 Python IDE 本文为大家推荐几款款不错的 Python IDE(集成开发环境),比较推荐 PyCharm,当然你可以根据自己的喜好来选择适合自己的 Pytho ...

  8. 为eclipse安装python、shell开发环境和SVN插件

    http://www.crazyant.net/1185.html 为eclipse安装python.shell开发环境和SVN插件 2013/08/27 by Crazyant 暂无评论 eclip ...

  9. Python趣味实用小工具

    代码地址如下:http://www.demodashi.com/demo/12918.html python 趣味实用小工具 概述 用python实现的三个趣味实用小工具: 图片转Execl工具 , ...

随机推荐

  1. rsyslog服务日志报错分析1

    客户问题: 最近对服务器进行日志检查时,发现部分主机的rsyslog服务状态有报错,报错详情如下 排查过程: 1.从报错截图来看,报错主要发生在文件'/usr/lib64/rsyslog/omazur ...

  2. Java基础---Java 开发工具IntelliJ IDEA 快捷操作

    IDE中快捷编写函数的方法 public static void main(String[] args) ===> psvm System.out.println(); ====> sou ...

  3. 【坑】使用IDEA创建maven的时候,提示缺少plugin-clean 等

    解决方法 检查你的网络,能否访问 maven 中央仓库 : 在 IDEA 中是否对 maven 进行了配置 IDEA 默认使用的 仓库 和 配置文件,都是 .m2 下面的: 如果你自己对 maven ...

  4. (三)Servlet 知识点总结(来自那些年的笔记)

    (史上最全知识汇总)转载请贴上原文链接! 作者:淮左白衣 写于 2018年4月15日20:14:55 如果,碰巧你打开了本篇博客,相信我,你想要的servlet知识,这里应该都能找到!! 目录 (史上 ...

  5. Hibernate之关联关系(一对多)

    今日分享hibernate框架的简单关联关系 一:关联关系简介 1.1 什么是关联关系 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性. 例如: class B{ ...

  6. mysql 查询字段为空显示默认值

    IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值. IFNULL() 函数语法格式为: IFNULL(exp ...

  7. MySQL 多列排序

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  8. (二十八)jsp之EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  9. 北京大学1001ACM——高精度类型题总结

    题目描述: ExponentiationTime Limit: 500MS   Memory Limit: 10000KTotal Submissions: 80517   Accepted: 190 ...

  10. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页

    https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...