位置: 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漏洞)

  • oppor9splus忘记了锁屏密码怎么办(oppor9splus忘记了锁屏图案指纹也不行电脑怎么打开)

    oppor9splus忘记了锁屏密码怎么办(oppor9splus忘记了锁屏图案指纹也不行电脑怎么打开)

  • 华为mate30pro铃声渐强可以取消吗(华为mate30pro铃声怎么设置歌曲)

    华为mate30pro铃声渐强可以取消吗(华为mate30pro铃声怎么设置歌曲)

  • vivo x27短信铃声怎么设置(vivo短信提示音)

    vivo x27短信铃声怎么设置(vivo短信提示音)

  • 淘宝亲密度等级划分(淘宝亲密度等级划分 超粉)

    淘宝亲密度等级划分(淘宝亲密度等级划分 超粉)

  • ppt配色两大基本原则(ppt配色基本原则)

    ppt配色两大基本原则(ppt配色基本原则)

  • 华为动态锁屏设置不了(华为动态锁屏设置后没有声音)

    华为动态锁屏设置不了(华为动态锁屏设置后没有声音)

  • 用身份证申诉能找回快手号吗(身份证被他人申诉)

    用身份证申诉能找回快手号吗(身份证被他人申诉)

  • 苹果四个摄像头的手机(苹果四个摄像头的平板)

    苹果四个摄像头的手机(苹果四个摄像头的平板)

  • OPPO手机微信美颜视频怎么开(oppo手机微信美颜在哪)

    OPPO手机微信美颜视频怎么开(oppo手机微信美颜在哪)

  • 拼多多举报评价是什么意思(拼多多举报评价会怎么样?)

    拼多多举报评价是什么意思(拼多多举报评价会怎么样?)

  • 华为nova6se侧边指纹在哪里(华为nova6se侧边指纹坏了)

    华为nova6se侧边指纹在哪里(华为nova6se侧边指纹坏了)

  • Word行距25磅怎么调(word文档行距25磅怎么设置)

    Word行距25磅怎么调(word文档行距25磅怎么设置)

  • 微信怎么知道是谁恶意投诉(微信怎么知道是谁推荐的好友)

    微信怎么知道是谁恶意投诉(微信怎么知道是谁推荐的好友)

  • iphone手机无彩色了怎么调回来(苹果手机显示没有彩色)

    iphone手机无彩色了怎么调回来(苹果手机显示没有彩色)

  • 表格中怎么同时冻结第一行和第二行(表格怎么一起填)

    表格中怎么同时冻结第一行和第二行(表格怎么一起填)

  • 手机冲不上去电然后一插充电器就亮(手机充不上去电,还漏电)

    手机冲不上去电然后一插充电器就亮(手机充不上去电,还漏电)

  • 为什么wear安装不了(wearapp安装问题解决)

    为什么wear安装不了(wearapp安装问题解决)

  • m928q是魅族什么型号(m926q是魅族什么型号)

    m928q是魅族什么型号(m926q是魅族什么型号)

  • 拍立得已装相纸怎么过安检(拍立得已装相纸过地铁安检)

    拍立得已装相纸怎么过安检(拍立得已装相纸过地铁安检)

  • 如何查看手机号码(如何查看手机号绑定了哪些东西)

    如何查看手机号码(如何查看手机号绑定了哪些东西)

  • 小米2s咋安装微信(小米2s安装微信教程)

    小米2s咋安装微信(小米2s安装微信教程)

  • 荣耀20pro怎么关后台(荣耀20pro怎么关闭纯净模式持续保护中)

    荣耀20pro怎么关后台(荣耀20pro怎么关闭纯净模式持续保护中)

  • 华为屏幕新闻怎么关闭(华为开屏新闻)

    华为屏幕新闻怎么关闭(华为开屏新闻)

  • 金税开票软件下载安装
  • 撤销增值税申报流程
  • 医疗机构销售药品需要销售记录吗
  • 季度缴纳企业所得税计算方法
  • 税局退回附加税账务处理办法
  • 材料报废是否可以税前扣除
  • 一季度季初从业人数
  • 公司交房租没有开票能记账?
  • 所得税纳税申报表在哪里打印
  • 购买固定资产的账务处理
  • 外购的材料用于在建工程进项税额
  • 产品销售员
  • 企业缴纳房产税的依据
  • 移动板房的税法是多少
  • 转出未交增值税怎么算
  • 未分配利润转增股本 个人所得税
  • 金融业保险业
  • 实收资本印花税最新规定
  • 进出口商品应该符合哪个国家的标准
  • 应收款计提
  • 销售净利率计算公式是什么
  • 工程部物品领用表格模板
  • 出纳收到汇票如何登记
  • 销售利润率和毛利率计算
  • macos monterey值得安装吗
  • 个税是每个月累计纳税额吗
  • win10任务栏显示年月日
  • 生物制品可以开箱验货吗
  • 身份证信息提取python
  • PHP:session_get_cookie_params()的用法_Session函数
  • 完税证明和纳税申报表的金额不一致
  • html文档怎么写
  • 取得交易性金融资产的交易费用
  • y库数据库
  • 自己买材料自己装修
  • 税务局什么情况下可以停供发票
  • ajax调用php接口
  • 年终奖要计入工资吗
  • 金税盘怎样设置收款人复核人
  • mongodb morphia
  • 建筑业成本需要摊销吗
  • 总公司所得税汇算
  • 个人所得税又是什么税种
  • 确认营业收入的时间是什么简答题
  • 城镇土地使用税税率
  • 申报成功后怎么更正申报
  • 借款怎么入会计分录
  • 行政机关现金管理办法
  • 发票 认证抵扣
  • 出口关税怎么缴纳
  • 长期待摊费用多少金额
  • 增值税税款多缴纳还能退回吗
  • 收到货款会计分录怎么写
  • 对公账户收到钱有提示吗
  • 投资收益的账务怎么处理
  • 销户还能申请抚养费吗?
  • 其他应付款转实收资本走什么程序
  • win8系统没有无线网络连接
  • windows 10 build 9888
  • 怎么更改桌面图标字体
  • win7自带桌面时钟吗
  • 如何快速破局
  • linux网络设备有哪些
  • win10系统窗口贴靠操作的快捷键
  • unity移动端教程
  • 基于重大误解实施的民事法律行为
  • 基于像素的分类方法
  • cocos2dx HelloWorld代码分析
  • 动态创建菜单
  • centos7开不了机
  • 使用jquery
  • jquery基本知识
  • rsa 密钥格式
  • winpe文件下载
  • python编码有哪些规范
  • 河南省教育厅纪检组举报电话
  • 异辛烷征收消费税对成品油影响
  • 契税为什么要补贴
  • 尤溪特产春节礼品
  • 广西怎么查社保记录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设