-3

これはイライラします。私はそれについてよく検索しましたが、結果はどれも役に立ちません。サブプロセスを試しましたが、まだ機能しません。基本的に、私はこの行を機能させたいと思っています:

appName = "ap01"
optna = "-server"
optnb = "-filename=c:/test.VS"
optnc = "-display=1"

os.system('start "VSM" "C:/bin/" {appName, optna, optnb, optnc} ')

CMDでは、単に入力します

CD C:/bin/

Enterキーを押してから:

ap01 -server -filename=C:/test.VS -display=1 
4

1 に答える 1

0

どうですか:

import os

appName = "ap01"
opts =[
    "-server",
    "-filename=c:/test.VS",
    "-display=1"
]

opts = ' '.join(opts)
os.system(r'start "" "C:\bin\{:}" {:}'.format(appName, opts) )

私はap01を持っていないのでテストするのは難しいですが、単純なバッチファイルで動作します. とにかく、@l4mpi コメントと同じようにサブプロセスを使用する必要があります。それは次のとおりです。

import subprocess
import os

app=[
    "ap01.ext",
    "-server",
    "-filename=c:/test.VS",
    "-display=1"
]

os.chdir('"C:/bin/')
subprocess.call(app, shell=True)

アプリケーションの完全な名前を知る必要があるため、これはWindowsでは少しうるさいことに注意してください。天候に関しては、esc を介してアプリを終了できるかどうかは、ap01 の性質に少し依存します。シェルを介して実行する場合、シェルは存続し、終了できるため、終了可能です。あなたがそれをパイプするなら、そうかもしれないし、そうでないかもしれません。おそらく、 INSTSRV.EXEを使用して起動し、サービスとして変換する必要があります。

于 2013-09-28T09:42:25.770 に答える