0

古い Python の制限により、os.system を使用する必要があるプログラムを開発しています。現在、私は1つの小さな場所で立ち往生しています。

os.system("C:\\FIOCheck\\xutil.exe  -i get phy" +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

これは、私が作業しようとしているコードです。いくつかのパラメーターを持つ外部プログラムにアクセスします。HBEA は、渡そうとしている変数です (プログラムの前半で受け取ります)。次に、プログラムは .exe が作成したものをすべて受け取り、それを外部ファイルにパイプします。この時点では、変数 HBEA がコマンド ラインに渡されていないため、.exe が実行されず、.txt が空白になります。ファイルが空白なので、そこからデータを取得できず、プログラムを完了できません。

何か案は?

編集:だから私はいくつかの提案ごとに次のコードを試みました:

cmd = "C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt"
print cmd
os.system(cmd)

次の出力が生成されました。

50012BE00004BDFF  #HBEA variable
C:\FIOCheck\xutil.exe  -i get phy 50012BE00004BDFF>C:\FIOCheck\HBEAResult.txt #the cmd  var

ただし、これはまだ値を渡していません。HBEA 変数が長すぎませんか?

解決した

このプログラムは、最良の回答からいくつかの編集を加えて機能しました。コマンドは正しく渡されましたが、フォーマット方法が正しくありませんでした。新しいフォーマットは次のようになります。

cmd = "C:\\FIOCheck\\xutil.exe -i " + HBEA + " get ver" + ">C:\\FIOCheck\\HBEAResult.txt"
os.system(cmd)

助けてくれてありがとう!

4

1 に答える 1

2
os.system("C:\\FIOCheck\\xutil.exe  -i get phy" +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

そうすべきか

os.system("C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt")

いつでも最初に文字列を作成できます

cmd = "C:\\FIOCheck\\xutil.exe  -i get phy " +HBEA + ">C:\\FIOCheck\\HBEAResult.txt"
print cmd
os.system(cmd)
于 2012-07-17T15:12:40.983 に答える