从用户那里获取值,您可以始终使用原始_输入()内置以获取响应,对于密码,请使用getpass模块从您的用户获得不回显密码。然后,您可以解析这些响应并将它们写入您的子流程的stdin。

最后,我做了一些类似于以下的事情:import sys

import subprocess

from threading import Thread

try:

from Queue import Queue, Empty

except ImportError:

from queue import Queue, Empty # python 3.x

def enqueue_output(out, queue):

for line in iter(out.readline, b''):

queue.put(line)

out.close()

def getOutput(outQueue):

outStr = ''

try:

while True: #Adds output from the Queue until it is empty

outStr+=outQueue.get_nowait()

except Empty:

return outStr

p = subprocess.Popen("cmd", stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False, universal_newlines=True)

outQueue = Queue()

errQueue = Queue()

outThread = Thread(target=enqueue_output, args=(p.stdout, outQueue))

errThread = Thread(target=enqueue_output, args=(p.stderr, errQueue))

outThread.daemon = True

errThread.daemon = True

outThread.start()

errThread.start()

try:

someInput = raw_input("Input: ")

except NameError:

someInput = input("Input: ")

p.stdin.write(someInput)

errors = getOutput(errQueue)

output = getOutput(outQueue)

一旦队列建立并线程启动,您就可以循环从用户获得输入、从进程中获取错误和输出,并将它们处理并显示给用户。

python交互式命令_从python内部运行交互式命令相关推荐

  1. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  2. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  3. Android Studio 环境搭建参考,jdk10javac命令提示不是内部或外部命令

    https://blog.csdn.net/qq_33658730/article/details/78547789 win10下Android Studio和SDK下载.安装和环境变量配置 http ...

  4. python安装环境安装_安装Python运行环境

    可以直接在python的官网下载相应操作系统平台的python安装包:https://www.python.org/downloads 点击下载后出现的安装界面,建议选中界面下方的Add Python ...

  5. python硬件交互_对Python的交互模式和直接运行.py文件的区别详解

    对Python的交互模式和直接运行.py文件的区别详解 看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下. 在命令行模式下,可以执行p ...

  6. python pip工具命令_转载 Python 安装setuptools和pip工具操作方法(必看)

    本文章转载自 脚本之家 http://www.jb51.net  感谢! setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就 ...

  7. python如何使用pip命令_python-如何从CMD运行Pip命令

    python-如何从CMD运行Pip命令 据我了解,Python 2.7.9附带安装了Pip,但是当我尝试从CMD(Windows)执行Pip命令时,出现以下错误: 'pip' is not reco ...

  8. python调用ping命令_在Python中调用Ping命令,批量IP的方法

    #!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. p ...

  9. ipad python编程软件_在iPad中运行Python

    从一个喜欢编程的人的角度看,任何移动设备其实都只是"可编程计算器". iPad上也有一个Python的解释器的应用Python for iOS.不过,让人气愤的是,这个应用竟然是收 ...

  10. python希腊字母字符串_#10 Python字符串

    前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...

最新文章

  1. 极光大数据:00后王者大军来袭 荣耀手机偏偏独得恩宠
  2. Nmap扫描教程之网络基础服务DHCP服务类
  3. oracle,build path,linux
  4. 深入mysql慢查询设置的详解
  5. java porm.xml_通过Maven仓库安装Spire.PDF for Java
  6. c++ 排列组合_省考行测数量关系的老大难,排列组合的基本类型题及秒杀技巧...
  7. pdb断点命令_Python使用pdb更优雅的调试代码
  8. Bailian4021 最大乘积【序列处理】
  9. SqlServer数据库字典
  10. 14.go build
  11. 百度编辑器上传图片配置php,谁配置过百度编辑器ueditor1.4.3的图片上传路径?
  12. VLAN的三种模式实验
  13. Cannot access a disposed object. A common cause of this error is disposing a context that ...问题解决
  14. python实践周总结_Python 一周总结
  15. 【不正经科普】一文读懂“区块链”
  16. 网站运行原理及开发流程
  17. QQ浏览器赵俊:解读腾讯扶持HTM5游戏政策
  18. vs-debugger远程调试卡死解决
  19. Android之手机卫士涉及的知识点总结
  20. 一位清华差生9年的北京生活,请你一字一句看完

热门文章

  1. Webclient UI view里Javascript的注释问题
  2. SAP ABAP实用技巧介绍系列之 How is configuration data loaded
  3. SAP WebClient UI view controller所有可用的属性列表
  4. 如何找到SAP ABAP odata服务实现的具体backend 系统
  5. always on sql 收缩日志_使用alwayson后如何收缩数据库日志的方法详解
  6. git 创建webpack项目_Webpack入门:从安装到配置
  7. createelement 设置id_还记得你的第一个网络ID是什么吗?
  8. 取0-1中间任意数java_java – 找到一个整数n 0,其中包含以下三个条件
  9. UE4学习-自定义相机视图
  10. python学习-类(类方法、实例方法、静态方法)