求教python 如何打开一个 cmd 窗口并定位到特定的目录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求教python 如何打开一个 cmd 窗口并定位到特定的目录相关的知识,希望对你有一定的参考价值。

参考技术A 手动添加注册表项打开注册表编辑regedit,且定位至HKEY_CLASSES_ROOT\Directory\shell在shell下新建一个项(目录),命名为OpenCmd 在OpenCmd下新建一个项(目录),名为command给command下面那个ab图标的,REG_SZ类型的值,设置为cmd.exe /k pushd %L直接导入注册表文件 上述步骤,也可通过导入注册表的方式来实现统一功能。 把下面的内容:Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\shell\OpenCmd\command]@="cmd.exe /k pushd %L" 保存为OpenCmd.reg,然后双击运行OpenCmd.reg,即可。

python如何获取cmd命令框里的内容

1.我有一个程序是类似CMD窗口类型的,这个程序里有1、2、3、4、5等几个选项,我需要输入数字来选择要执行的项目,我在python里调用这个程序,并且通过python输入参数,然后我想抓取程序运行后的结果,并把它显示到IDLE的执行窗口里面,需要怎么做呢?
2.我能否通过python来读取CMD命令行里的内容,我想根据它里面的内容判断我的程序是否运行完了。
以上两个问题哪位高手帮帮忙吧,非常感谢!

你的程序使用命令行参数比较好。

请看下例:

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 的执行窗口里。

追答

抱歉我没写过窗口的程序。

参考技术A

可以通过sys包的argv获取命令行参数

sys.argv是一个列表,第0项默认为文件名,接下来就是输入的参数

比如命令框中输入:

python test.py hi 27

那么:

sys.argv 为 ['test.py', 'hi', '27']

参考技术B

使用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定向给管道

追问

读是读到了,但好像每次运行完电脑都变得很卡的样子!非常感谢你的帮助。

本回答被提问者采纳

以上是关于求教python 如何打开一个 cmd 窗口并定位到特定的目录的主要内容,如果未能解决你的问题,请参考以下文章

python如何向cmd发送命令

解决python配置环境变量后cmd窗口无法打开并弹出Microsoft store界面

python如何获取cmd命令框里的内容

为啥在CMD窗口下运行Python文件后没反映

高分求教:如何实现java web 按钮点击弹出登陆界面,并登陆

小白求教 为啥我在命令行中汇编*.asm文件时总是打开PROTEL软件呢?