位置: IT常识 - 正文

Python与Shell脚本的交互(shell和pycharm)

编辑:rootadmin

推荐整理分享Python与Shell脚本的交互(shell和pycharm),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python和shell脚本,python和shell脚本,python与shell脚本交互,python shell和python,shell脚本与python脚本的区别,脚本语言shell,python,脚本语言shell,python,python和shell脚本,内容如对您有帮助,希望把文章链接给更多的朋友!

考虑这样一个问题,有hello.py脚本,输出”hello, world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输出内容发送给TestInput.py,最后TestInput.py打印接收到的”hello, world!”。下面来逐步讲解一下shell的交互方式。

hello.py代码如下:

#!/usr/bin/pythonprint"hello,world!"

TestInput.py代码如下:

#!/usr/bin/pythonstr=raw_input()print("inputstringis:%s"%str)

1.os.system(cmd)

这种方式只是执行shell命令,返回一个返回码(0表示执行成功,否则表示失败)

retcode=os.system("pythonhello.py")print("retcodeis:%s"%retcode);

输出:

hello,world!retcodeis:0Python与Shell脚本的交互(shell和pycharm)

2.os.popen(cmd)

执行命令并返回该执行命令程序的输入流或输出流.该命令只能操作单向流,与shell命令单向交互,不能双向交互.

返回程序输出流,用fouput变量连接到输出流

fouput=os.popen("pythonhello.py")result=fouput.readlines()print("resultis:%s"%result);

输出:

resultis:['hello,world!\n']

返回输入流,用finput变量连接到输出流

finput=os.popen("pythonTestInput.py","w")finput.write("howareyou\n")

输出:

inputstringis:howareyou

3.利用subprocess模块

subprocess.call()

类似os.system(),注意这里的”shell=True”表示用shell执行命令,而不是用默认的os.execvp()执行.

f=call("pythonhello.py",shell=True)printf

输出:

hello,world!subprocess.Popen()

利用Popen可以是实现双向流的通信,可以将一个程序的输出流发送到另外一个程序的输入流.

Popen()是Popen类的构造函数,communicate()返回元组(stdoutdata, stderrdata).

p1=Popen("pythonhello.py",stdin=None,stdout=PIPE,shell=True)p2=Popen("pythonTestInput.py",stdin=p1.stdout,stdout=PIPE,shell=True)printp2.communicate()[0]#otherway#printp2.stdout.readlines()

输出:

inputstringis:hello,world!#!/usr/bin/pythonimportosfromsubprocessimportPopen,PIPE,callretcode=os.system("pythonhello.py")print("retcodeis:%s"%retcode);fouput=os.popen("pythonhello.py")result=fouput.readlines()print("resultis:%s"%result);finput=os.popen("pythonTestInput.py","w")finput.write("howareyou\n")f=call("pythonhello.py",shell=True)printfp1=Popen("pythonhello.py",stdin=None,stdout=PIPE,shell=True)p2=Popen("pythonTestInput.py",stdin=p1.stdout,stdout=PIPE,shell=True)printp2.communicate()[0]#otherway#printp2.stdout.readlines()
本文链接地址:https://www.jiuchutong.com/zhishi/303774.html 转载请保留说明!

上一篇:Homoiconicity

下一篇:PHPCMS漏洞之文件poster.php(phpweb漏洞)

  • 微博营销将进入个人时代(微博营销是怎么样的)

    微博营销将进入个人时代(微博营销是怎么样的)

  • 苹果手机照片上如何显示时间(苹果手机照片上传到icloud占内存吗)

    苹果手机照片上如何显示时间(苹果手机照片上传到icloud占内存吗)

  • 闲鱼运单号不符合规则怎么办(咸鱼运单号不符合规则)

    闲鱼运单号不符合规则怎么办(咸鱼运单号不符合规则)

  • 微信视频只能发15秒,能长一点吗(微信视频只能发10秒)

    微信视频只能发15秒,能长一点吗(微信视频只能发10秒)

  • 华为怎么添加桌面插件(华为怎么添加桌面小工具)

    华为怎么添加桌面插件(华为怎么添加桌面小工具)

  • 支付宝地区怎么修改(支付宝地区怎么隐藏)

    支付宝地区怎么修改(支付宝地区怎么隐藏)

  • 苹果se支持多少w充电(苹果se支持多少w无线充电)

    苹果se支持多少w充电(苹果se支持多少w无线充电)

  • 为什么苹果11侧边会发烫(为什么苹果11侧边按钮无法关机)

    为什么苹果11侧边会发烫(为什么苹果11侧边按钮无法关机)

  • 电话被拦截了打过去会听到什么(电话被拦截了打哪个电话)

    电话被拦截了打过去会听到什么(电话被拦截了打哪个电话)

  • 电脑网页截图快捷键ctrl加什么(电脑 网页截图)

    电脑网页截图快捷键ctrl加什么(电脑 网页截图)

  • mp4和手机怎么传输(mp4和手机怎么传歌)

    mp4和手机怎么传输(mp4和手机怎么传歌)

  • perl语言为什么不流行(perl运行后没有结果)

    perl语言为什么不流行(perl运行后没有结果)

  • 唯品会公众号怎么关注(唯品会公众号怎么注销)

    唯品会公众号怎么关注(唯品会公众号怎么注销)

  • 抖音怎么测试(抖音怎么测试流量)

    抖音怎么测试(抖音怎么测试流量)

  • 抖音怎么自定义学校(抖音怎么自定义时间)

    抖音怎么自定义学校(抖音怎么自定义时间)

  • iphone7耳机孔在哪里(iphone7耳机孔图片)

    iphone7耳机孔在哪里(iphone7耳机孔图片)

  • 万能钥匙老是连接超时(万能钥匙老是连接超时失败怎么了)

    万能钥匙老是连接超时(万能钥匙老是连接超时失败怎么了)

  • 苹果7相机声音怎么关(苹果7相机声音怎么开启)

    苹果7相机声音怎么关(苹果7相机声音怎么开启)

  • vue拍视频怎么加文字(vue如何在视频中加图片)

    vue拍视频怎么加文字(vue如何在视频中加图片)

  • x27摄像头怎么设置(x27摄像头图解)

    x27摄像头怎么设置(x27摄像头图解)

  • 联想电脑怎么开机(联想电脑怎么开摄像头)

    联想电脑怎么开机(联想电脑怎么开摄像头)

  • 华硕笔记本怎么重装系统(华硕笔记本怎么强制关机)

    华硕笔记本怎么重装系统(华硕笔记本怎么强制关机)

  • 苹果x反向充电在哪调(苹果x反向充电在哪)

    苹果x反向充电在哪调(苹果x反向充电在哪)

  • xr能用动态壁纸吗(xr能不能用动态壁纸)

    xr能用动态壁纸吗(xr能不能用动态壁纸)

  • 下载的安装包为什么安装不上(下载的安装包为什么是文档)

    下载的安装包为什么安装不上(下载的安装包为什么是文档)

  • 【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

    【pytorch】有关nn.EMBEDDING的简单介绍(pytorch nn.parameters)

  • 不能抵扣的进项抵扣了
  • 转让无形资产可以免税吗
  • 自产委托加工用于简易计税
  • 其他债权投资减值准备影响账面价值吗
  • 计提社保贷方科目是什么
  • 股东个人将钱打入公司对公账户,能否算作投资款
  • 权益法核算的好处
  • 会计准则 现金流量
  • 企业停产是否需要自行监测
  • 办公设备维修费会计分录
  • 延期付款利息是多少钱
  • 进项税额转出是不可以抵扣吗
  • 房地产开发预提费用
  • 一般销售商品业务
  • 职工因公出差伙食补助标准
  • 人力资源外包服务收费标准
  • 劳务分包简易计税可以抵扣吗
  • 上月未抵扣进项增值税
  • 代理运费进项税额抵扣
  • 个人所得税0元算不算缴税
  • 财会报告需要哪些证书
  • 合同取得成本计入当期损益吗
  • 推广费属于什么税收编码
  • 进入英雄联盟显示超频怎么办
  • 处理废料的会计分录
  • 失业稳岗补贴要交社保吗
  • 票据承兑与票据贴现的区别
  • 提租补贴应计入什么科目
  • 公司的房租收入要交税吗
  • yolo 官网
  • 落日时光
  • php使用pdo连接数据库
  • three.js入门指南
  • bind函数错误
  • 简述php操作mysql数据库的基本步骤
  • thinkphp环境搭建教程
  • 以前年度的成本忘了结转然后怎么办
  • 小规模公司卖车怎么开票
  • 已认证未抵扣完的进项
  • 收到老板的钱怎么做分录
  • 企业被吊销后能当被告嘛
  • 支付委托加工费的记账凭证
  • 按工资申报的工龄怎么算
  • 新会计准则基本准则
  • 税控盘的作用是什么
  • 缴纳社保费出现异常
  • SQL Server实时同步更新远程数据库遇到的问题小结
  • 无形资产摊销年限按法律规定还是企业估计
  • 完工产品成本计算表怎么填
  • 应交税费的账务处理一般纳税人
  • 冲以前年度成本分路
  • 土地出让金返还比例是多少
  • 增值税普通发票和电子普通发票的区别
  • 污水处理工程内容包括
  • 施工企业项目部发生的管理人员工资应计入
  • 管理费用记错了跨年了怎么调整
  • 独立核算和非独立核算增值税
  • 租房发票如何做分录
  • 银行借款一年按多少天计算
  • 现金日记账月末怎么结账图片
  • 残保金不申报可以补缴吗
  • 连接mysql数据出错1045
  • sql判断字段是否有某个值
  • 记录一次博客迁移到Docker上的操作
  • 如何快速找到注册的软件
  • win7修改sid
  • Win10 Mobile 10572升级后QQ/微信无法发送图片
  • win7怎么看磁盘
  • unity游戏人物选择
  • python的入门教程
  • angularjs简介
  • 用nodejs做的项目
  • javascript教程完整版
  • macbookair安卓系统怎么切换到苹果
  • UNITE 2015 TAIPEI 五大系列重要議題搶鮮看!
  • bootstrap怎么用
  • Android ORM之GreenDao学习
  • 成都市税务局公示名单公布
  • 2022款进口途锐
  • 铁力杯四省冠军
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设