古い 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)
助けてくれてありがとう!