python交互式命令_从python内部运行交互式命令
从用户那里获取值,您可以始终使用原始_输入()内置以获取响应,对于密码,请使用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内部运行交互式命令相关推荐
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- Android Studio 环境搭建参考,jdk10javac命令提示不是内部或外部命令
https://blog.csdn.net/qq_33658730/article/details/78547789 win10下Android Studio和SDK下载.安装和环境变量配置 http ...
- python安装环境安装_安装Python运行环境
可以直接在python的官网下载相应操作系统平台的python安装包:https://www.python.org/downloads 点击下载后出现的安装界面,建议选中界面下方的Add Python ...
- python硬件交互_对Python的交互模式和直接运行.py文件的区别详解
对Python的交互模式和直接运行.py文件的区别详解 看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下. 在命令行模式下,可以执行p ...
- python pip工具命令_转载 Python 安装setuptools和pip工具操作方法(必看)
本文章转载自 脚本之家 http://www.jb51.net 感谢! setuptools模块和pip模块是python进行第三方库扩展的极重要工具,例如我们在需要安装一些爬虫或者数据分析的包时就 ...
- python如何使用pip命令_python-如何从CMD运行Pip命令
python-如何从CMD运行Pip命令 据我了解,Python 2.7.9附带安装了Pip,但是当我尝试从CMD(Windows)执行Pip命令时,出现以下错误: 'pip' is not reco ...
- python调用ping命令_在Python中调用Ping命令,批量IP的方法
#!/usr/bin/env python #coding:UTF-8 ''''''' Author: jefferchen@163.com 可在命令行直接带目的IP,也可将IP列表在文本文件中. p ...
- ipad python编程软件_在iPad中运行Python
从一个喜欢编程的人的角度看,任何移动设备其实都只是"可编程计算器". iPad上也有一个Python的解释器的应用Python for iOS.不过,让人气愤的是,这个应用竟然是收 ...
- python希腊字母字符串_#10 Python字符串
前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...
最新文章
- 极光大数据:00后王者大军来袭 荣耀手机偏偏独得恩宠
- Nmap扫描教程之网络基础服务DHCP服务类
- oracle,build path,linux
- 深入mysql慢查询设置的详解
- java porm.xml_通过Maven仓库安装Spire.PDF for Java
- c++ 排列组合_省考行测数量关系的老大难,排列组合的基本类型题及秒杀技巧...
- pdb断点命令_Python使用pdb更优雅的调试代码
- Bailian4021 最大乘积【序列处理】
- SqlServer数据库字典
- 14.go build
- 百度编辑器上传图片配置php,谁配置过百度编辑器ueditor1.4.3的图片上传路径?
- VLAN的三种模式实验
- Cannot access a disposed object. A common cause of this error is disposing a context that ...问题解决
- python实践周总结_Python 一周总结
- 【不正经科普】一文读懂“区块链”
- 网站运行原理及开发流程
- QQ浏览器赵俊:解读腾讯扶持HTM5游戏政策
- vs-debugger远程调试卡死解决
- Android之手机卫士涉及的知识点总结
- 一位清华差生9年的北京生活,请你一字一句看完
热门文章
- Webclient UI view里Javascript的注释问题
- SAP ABAP实用技巧介绍系列之 How is configuration data loaded
- SAP WebClient UI view controller所有可用的属性列表
- 如何找到SAP ABAP odata服务实现的具体backend 系统
- always on sql 收缩日志_使用alwayson后如何收缩数据库日志的方法详解
- git 创建webpack项目_Webpack入门:从安装到配置
- createelement 设置id_还记得你的第一个网络ID是什么吗?
- 取0-1中间任意数java_java – 找到一个整数n 0,其中包含以下三个条件
- UE4学习-自定义相机视图
- python学习-类(类方法、实例方法、静态方法)