-2

Python コードから作成した単純な .exe を操作しようとしています。Windows cmd を使用して .exe をテストしましたが、問題なく動作します。必要なグラフを生成するために Java プログラムを介して .exe に同じ入力を送信しようとすると、OutputStream はコンソールに「エラー」を書き込むだけです。OutputStream を介して文字列と整数を送信しようとしましたが、何があっても同じ結果が得られます。X-Foil.exe は、翼型データ ファイルを生成するために使用するコンソール アプリケーションであり、この同じ Java アプリを介して大きな成功を収めています。データにカーブ フィッティングを実行する必要があるため、Python と matplotlib プラグインを使用してから、py2exe を使用して .exe を作成しました。私は、航空機の翼を設計するという最終目標を持つ Web アプリケーションを作成しようとしているため、Java を使用しています。

    public void PyGrapher(String NACA_4d) {
    try {
        ProcessBuilder builder = new ProcessBuilder("PyAirfoilGraphing\\dist\\GraphPolars.exe");
        builder.redirectErrorStream(true);
        Process pr = builder.start();
        OutputStream out = pr.getOutputStream();
        BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));

        double CL_alpha;

        out.write((NACA_4d + "\n").getBytes());

        System.out.println(in.readLine());
        System.out.println(in.readLine());
        System.out.println(in.readLine());
        System.out.println(in.readLine());
        //CL_alpha = Double.parseDouble(in.readLine());

        pr.waitFor();
        pr.destroy();
        out.close();
        in.close();

    } catch (IOException | InterruptedException ex) {
    }
}

コンソールから読み取ったものは次のとおりです。

  Input NACA 4-digit code: error
  Traceback (most recent call last):
    File "GraphPolars.py", line 16, in <module>
  IOError: [Errno 2] No such file or directory: '..\\..\\AirfoilPolars\\NACA_0024.dat'

私は困惑しています、そしてかなり長い間そうでした。pythonファイルに問題はなく、カレントディレクトリで単体でも問題なく動作しています。誰でも助けてもらえますか?

-ニック・K

4

1 に答える 1

0

それは相対的なパスを持つものでしょうか?Pythonのデフォルトパスがローカルディレクトリ/ファイルを取得していない可能性があります。

Windowsのフルパス「C:\ Foo \ bar \ AirFoil \ ...」を適切にエスケープされた「\」文字で渡してみましたか?

于 2012-12-06T04:08:18.400 に答える