0

在 Windows XP 中,当您打开 cmd.exe 时,您会看到一个带有命令提示符的控制台窗口,如下所示:

"C:\User and Settings\Staffer\My Documents> " 其中 s> '>' 后面的下划线是光标。

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

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

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

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

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

4

3 回答 3

1

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

于 2012-04-11T15:45:21.297 回答
1

从命令行:

c:\>echo %prompt%
$P$G

来自 Python:

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

http://docs.python.org/library/os.html#process-parameters

[编辑]

啊,我错过了你的编辑。听起来您要做的就是在后台运行脚本。我相信您正在寻找带有 /b 选项的 Windows“启动”命令 - http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/start.mspx?mfr=真的

于 2012-04-11T15:51:15.947 回答
0

我想你正在寻找这个:

import os
print os.getcwd()
于 2012-04-11T16:47:08.503 回答