0

私はこれについて助けが必要です... 私は自分のコンピューターにプログラムをインストールしており、それを呼び出していくつかのことを計算し、出力ファイルを提供したいと考えています...

Matlab では、コマンド "dos()" がジョブを実行し、matlab の cmd 画面出力も提供します。

Pythonで動作させるにはこれが必要ですが、何か間違っています。

data='file.csv -v'
db=' -d D:\directory\bla\something.db'
anw='"D:\Program Files\bla\path\to\anw.exe"' + db + ' -i' + data

「anw」出力は次のとおりです。

>>> anw

'"D:\\Program Files\\bla\\path\\to\\anw.exe" -d D:\\directory\\bla\\something.db -i file.csv -v' 
## without the "" it does not work either

import subprocess as sb    
p= sb.Popen('cmd','/K', anw) ## '/C' does not work either

Pythonシェル内のcmd.exeから次のエラーメッセージが表示されます

Windows cannot find "\"D:\Program Files\bla\path\to\anw.exe"" Make sure you typed the name correctly, and then try again.

この行は、バットを作成すると実行されます。それからファイルします。「dos(anw)」を介してmatlabで実行されるので、ここで何が問題になっていますか?ps: コマンドに空白があります...これが問題でしょうか? cmd の最初の「\」がどこから来るのかわかりません。exeエラーメッセージ

4

1 に答える 1

1

とりあえずバットを作りました。入力ファイルがある特定のディレクトリで cmx.de が行う必要があるすべてのものを含むファイル...

Pythonにディレクトリを変更するように指示する必要がありました

import os
os.chdir("D:\working\directory")
os.system(r'D:\working\directory\commands.bat')

それはうまく機能し、Pythonシェルで直接cmdの出力を提供します

于 2013-11-13T21:24:46.997 に答える