0

cmdプロンプト コマンドを実行する必要がある GUI アプリケーションを Python で作成しています。

例えば:

import subprocess
subprocess.Popen("arp -a > arptable.txt",stdin=PIPE, stdout=PIPE,shell=Ture)

このコマンドを実行すると、 の小さなスプラッシュが表示され、テーブルcmd screenを含むテキスト ファイルが生成されます。私のアプリケーションでは、ユーザーがアプリケーションに関与しているarpことを知らないように、この黒い画面がスプラッシュしないようにします。cmd prompt

これどうやってするの?

4

2 に答える 2

0

あなたは必要ありませんshell=True

import os
from subprocess import PIPE, STDOUT, check_call

with open("arptable.txt", "rb") as file, open(os.devnull, "r+b") as devnull:
    check_call(["arp", "-a"], stdin=devnull, stdout=file, stderr=STDOUT)
于 2012-12-27T21:58:21.337 に答える
0

STARTUPINFOWindows では、クラスをstartupinfo引数に渡す必要がありますsubprocess.Popen。それを移植可能にするには:

import subprocess
import os

si = None
if os.name == 'nt':
    si = subprocess.STARTUPINFO()
    si.dwFlags |= subprocess.STARTF_USESHOWWINDOW
proc = subprocess.Popen("arp -a > arptable.txt",stdin=PIPE, stdout=PIPE, startupinfo=si)
于 2012-12-27T22:13:06.317 に答える