Python 是否有方法捕获MSDOS命令提示字符串?

Python 是否有方法捕获MSDOS命令提示字符串?,python,windows,Python,Windows,在Windows XP中,当您打开cmd.exe时,会出现一个控制台窗口,其命令提示符如下所示: “C:\User and Settings\Staffer\My Documents>”其中“>”后面的下划线是光标 这是Windows XP的默认设置。用户可以使用PROMPT=something或set PROMPT=something来更改它 在控制台窗口中,在命令提示下,输入不带参数的内部命令“prompt”不会返回当前提示字符串 是否有可以检索命令提示符的命令或Python库。如果有一种内

在Windows XP中,当您打开cmd.exe时,会出现一个控制台窗口,其命令提示符如下所示:

“C:\User and Settings\Staffer\My Documents>”其中“>”后面的下划线是光标

这是Windows XP的默认设置。用户可以使用PROMPT=something或set PROMPT=something来更改它

在控制台窗口中,在命令提示下,输入不带参数的内部命令“prompt”不会返回当前提示字符串

是否有可以检索命令提示符的命令或Python库。如果有一种内置的检索字符串的方法,我不想编写Python模块

获取命令提示符字符串的用例是当我使用Python子流程模块运行Python程序,然后在子流程运行时返回到同一控制台的命令提示符时,我将光标放在一个空行上。我可以按Enter键,命令提示将重新显示;但它看起来好像还没有从子流程返回,这误导了我的用户


我的应用程序的gui部分的一个解决方案是运行pythonw runapp.py。但是,我想知道是否有一种方法可以在调用子流程时通过使用已经生成的DOS命令、Python库、正确使用subprocess.Popen()和communicate()获得干净的命令提示符?

不确定是否有帮助,但是如果从命令提示符输入“SET”,您将看到一个环境变量列表,包括当前提示符(但是,如果是默认提示,则不会显示在列表中)。

从命令行:

c:\>echo %prompt%
$P$G
来自Python:

>>> import os
>>> os.environ["PROMPT"]
'$P$G'
()

[编辑]


啊,我错过了你的编辑。听起来你只想在后台运行脚本。我相信你正在寻找带有/b选项的Windows“开始”命令-

我想你正在寻找这个:

import os
print os.getcwd()

这是Windows提示符。MS-DOS在Windows XP之后就死了。@larsmans-早在Windows之前就死了XP@Ramhound:好的,他们最终将其臭气熏天的残留物埋在XP中。更好的解决方案是等待您的子流程完成,然后再完成自己的工作……您能简要介绍一下如何使用
子流程吗?当然可以;目前:p1=subp进程('gui\u control.py')p2=子进程('gui\u drill\u logger.py'),它打开一些简单的wx窗口;一些非日志记录的内容被“打印”偶尔转到控制台;未登录到文件。我试图避免一堆控制台窗口彼此运行小脚本。+1;它不会与SET一起出现,但echo%prompt%仍应返回$p$gYes,但我需要编写一个模块(并维护它)在Python 2.7.2 btw中的每个“print”语句(acutally函数)Im之后,都需要解析并打印“$P$G”或他们自己站点上的任何内容;这是可行的;我只是想知道是否有类似“C:\getprompt”的东西会返回“$P$G”而不是“C:\Trekkic\controller\>”或者使用正确的管道强制cmd.exe重新显示其命令提示符。也错过了编辑。请确保将其与使用重定向结合使用,以抑制运行python脚本的输出。