0

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 部分の 1 つの解決策は、pythonw runapp.py を実行することです。ただし、既に作成された DOS コマンド、Python ライブラリ、subprocess.Popen() および communicate() の適切な使用を使用して subprocess を呼び出すときに、クリーンなコマンド プロンプトを取得する方法があるかどうか疑問に思っています。

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 に答える