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

  • ppt的背景音乐怎么关(ppt的背景音乐怎么调小声?)

    ppt的背景音乐怎么关(ppt的背景音乐怎么调小声?)

  • T3出行怎么预约打车(t3出行怎么预约打车基础费)

    T3出行怎么预约打车(t3出行怎么预约打车基础费)

  • 荣耀30pro有没有红外线呢(荣耀30pro有没有无线充电功能)

    荣耀30pro有没有红外线呢(荣耀30pro有没有无线充电功能)

  • g5420 cpu相当于i5多少(intel g5420相当于)

    g5420 cpu相当于i5多少(intel g5420相当于)

  • 美图秀秀网络连接不顺畅(美图秀秀为何显示网络连接不到)

    美图秀秀网络连接不顺畅(美图秀秀为何显示网络连接不到)

  • oppo手机顶部状态栏不见了(oppo手机顶部状态栏)

    oppo手机顶部状态栏不见了(oppo手机顶部状态栏)

  • qq怎么看别人给我的留言(qq怎么看别人给你点赞的消息)

    qq怎么看别人给我的留言(qq怎么看别人给你点赞的消息)

  • 小红书背景音乐怎么关(最近流行的小红书背景音乐)

    小红书背景音乐怎么关(最近流行的小红书背景音乐)

  • 程序的功能是什么(程序功能是什么)

    程序的功能是什么(程序功能是什么)

  • 智慧投屏功能是什么(智慧投屏有什么用?)

    智慧投屏功能是什么(智慧投屏有什么用?)

  • 微信动态视频怎么发到朋友圈(微信动态视频怎么拍)

    微信动态视频怎么发到朋友圈(微信动态视频怎么拍)

  • 电脑下划线符号怎么打(电脑下划线符号大全复制)

    电脑下划线符号怎么打(电脑下划线符号大全复制)

  • 华为nova6有前置闪光灯吗(nova6前摄)

    华为nova6有前置闪光灯吗(nova6前摄)

  • 用友软件怎样删除凭证(用友软件怎样删除记账凭证)

    用友软件怎样删除凭证(用友软件怎样删除记账凭证)

  • iphonex变黑白如何还原(iphonex变黑白如何还原为彩色)

    iphonex变黑白如何还原(iphonex变黑白如何还原为彩色)

  • 手机银行怎么设置指纹(手机银行怎么设置短信提醒)

    手机银行怎么设置指纹(手机银行怎么设置短信提醒)

  • 苹果新系统怎么删除应用(苹果新系统怎么删壁纸)

    苹果新系统怎么删除应用(苹果新系统怎么删壁纸)

  • 如何删除抖音@过的好友(如何删除抖音里面喜欢的视频)

    如何删除抖音@过的好友(如何删除抖音里面喜欢的视频)

  • 苹果x摄像头是啥牌子(苹果x摄像头是索尼什么型号)

    苹果x摄像头是啥牌子(苹果x摄像头是索尼什么型号)

  • 拼多多解除支付宝绑定(拼多多解除支付宝免密支付)

    拼多多解除支付宝绑定(拼多多解除支付宝免密支付)

  • 抖音动态没了怎么找回(抖音动态没了怎么找回来)

    抖音动态没了怎么找回(抖音动态没了怎么找回来)

  • 抖音直播游戏用什么软件(抖音直播游戏用什么手机好)

    抖音直播游戏用什么软件(抖音直播游戏用什么手机好)

  • 韵达快递怎么用手机号查询(韵达快递怎么用手机号码查询)

    韵达快递怎么用手机号查询(韵达快递怎么用手机号码查询)

  • 快手活跃度在哪里看(快手上面活跃度有什么用)

    快手活跃度在哪里看(快手上面活跃度有什么用)

  • 电脑wifi在哪里(电脑wifi在哪里设置)

    电脑wifi在哪里(电脑wifi在哪里设置)

  • 怎么看电脑型号 华硕(怎么看电脑型号和配置)

    怎么看电脑型号 华硕(怎么看电脑型号和配置)

  • 更新macOS10.15出现迁移的项目文件夹可不可以删除?(macos10.15.7更新)

    更新macOS10.15出现迁移的项目文件夹可不可以删除?(macos10.15.7更新)

  • 关税完税价格是离岸价还是到岸价
  • 跨境电商小规模好还是一般纳税好
  • 预缴增值税需要预缴城建税吗
  • 小规模纳税人开专票税率是1%还是3%
  • 营业税金及附加怎么计提
  • 六大行业房产税土地使用税减免
  • 公司租用其他公司车辆能报销保险费吗,发票怎么开
  • 补缴去年的附加税
  • 税金及附加现金流指定
  • 工程保险谁负责
  • 预缴的附加税月末结转吗
  • 个人设备投资需要交税吗
  • 销售旧房不能取得评估价格
  • 管理费抵扣如何计算
  • 应纳税所得额数学
  • 进项票不足
  • 车船税法律制度的规定什么是以每米为计税依据的
  • 挂靠费如何纳税?
  • 学校有税号可以收专票吗
  • 生产负荷的计算
  • 无票申报后开发票怎么申报
  • 农贸市场可以收什么的费
  • 销售外购设备并提供安装服务
  • 戴尔开启vt教程
  • 怎么进入登录
  • xlsx长数字
  • 门店出纳的工作内容
  • linux使用docker
  • 公司员工私车公用协议要签吗
  • kindeditor vue
  • 企业工会经费计提比例
  • 代扣个人缴纳社保费
  • 房地产企业如何结转成本
  • apkpure 安全
  • PHP:pcntl_fork()的用法_PCNTL函数
  • PHP:pcntl_setpriority()的用法_PCNTL函数
  • 全年一次性奖金计税方式
  • 购买仓库计入什么科目
  • 银行存款也有窍门
  • 猿猴的作文
  • 怎么检测pvc中含量
  • 什么叫预缴款
  • 滴滴普通发票如何开
  • 开收据可以列收入吗
  • 购买备用品会计分录
  • 织梦网站停止使用了还侵权吗
  • mongodb数据表
  • mongodb简单使用
  • 企业期末预收账款怎么算
  • 费用票必须是公司发票吗
  • 小规模纳税人可以开票吗?
  • 印花税申报成功怎么撤回
  • 现金折扣方式销售货物不得从计税销售额中扣减折扣额
  • 预收账款和预付账款科目都是资产类科目
  • 现金盘盈盘亏账务处理分录
  • 医生规培补助
  • 暂估成本以后也没有票回来了
  • 股份有限公司向股东借款
  • 劳务报酬与经营所得
  • 交易性金融资产的入账价值
  • 建账时必须输入的内容有哪些
  • mysql使用正则表达式查询数据并另存为另一列
  • win10预览版21277
  • xp不能安装win8
  • win10 预览版变正式版
  • Win7系统不小心将TCP/IP协议卸载如何重新安装?
  • Win7系统启动qq无法访问个人文件怎么解决
  • win7 64位系统怎么查看串口号?
  • win8.1开始菜单怎么改成win7那样
  • win10系统onenote不能用
  • vim如何在文件中添加
  • python第三方库文档怎么看
  • js复制div
  • unity人物面板
  • unity3d物理现象模拟
  • android下载图片并保存到本地
  • eclipse项目导入后有红叉
  • python bottle 教程
  • 在网上如何查询车辆违章
  • 遏制新增
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设