python如何获取cmd命令框里的内容
1.我有一个程序是类似CMD窗口类型的,这个程序里有1、2、3、4、5等几个选项,我需要输入数字来选择要执行的项目,我在python里调用这个程序,并且通过python输...
1.我有一个程序是类似CMD窗口类型的,这个程序里有1、2、3、4、5等几个选项,我需要输入数字来选择要执行的项目,我在python里调用这个程序,并且通过python输入参数,然后我想抓取程序运行后的结果,并把它显示到IDLE的执行窗口里面,需要怎么做呢?
2.我能否通过python来读取CMD命令行里的内容,我想根据它里面的内容判断我的程序是否运行完了。
以上两个问题哪位高手帮帮忙吧,非常感谢! 展开
2.我能否通过python来读取CMD命令行里的内容,我想根据它里面的内容判断我的程序是否运行完了。
以上两个问题哪位高手帮帮忙吧,非常感谢! 展开
3个回答
展开全部
你的程序使用命令行参数比较好。
请看下例:
python test.py 1
python会读取命令行参数,你可以通过sys.argv列表访问命令行参数:
import sys
mod = sys.argv[1]
# 然后根据mod的不同,运行不同的代码
给你介绍一个python内置库,叫argparse。使用它,解析命令选项非常方便!
也可以使用标准输入,你的需求不建议这样做:
mod = raw_input('你要运行的程序:')
望采纳,谢谢支持!
追问
是这样的,我的那个程序是个写好了的命令行窗口程序,它并不是windows自带的cmd命令行,而是类似这样的一个窗口程序,它是用来测试的,我输入数字1、2、3等等数字后,就会跑相应的测试程序,跑完后会出来结果,显示在这个窗口程序里面,我想把这里的结果抓取出来,然后让他显示在IDLE这个python 的执行窗口里。
追答
抱歉我没写过窗口的程序。
展开全部
可以通过sys包的argv获取命令行参数
sys.argv是一个列表,第0项默认为文件名,接下来就是输入的参数
比如命令框中输入:
python test.py hi 27
那么:
sys.argv 为 ['test.py', 'hi', '27']
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用popen运行process并打开管道 通过管道进行输入输出操作 看下subprocess的文档 不难的 给个例子:
data = subprocess.Popen (cmd, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, shell = True)
li = data.stdout.readline ()
更多追问追答
追问
我试过了,可以读到cmd里的信息。那可不可以读取其他程序里的内容呢?比如,我有个类似cmd类型的程序,它叫abc.exe吧,我想读它里面的内容,能否将上面的参数‘cmd’改为abc.exe呢?还是说有其他的方法?
追答
没有问题的 它其实是把程序的输出stdout定向给管道
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询