あまり複雑に思えないので、この答えを探してみましたが、成功しませんでした。古いFORTRANコードを使用して、Pythonに取り込んで使用できるようにしようとしています。その過程で、ファイル I/O に関するいくつかの問題に遭遇しました。これが f2py によってどのように処理されるかを理解しようとしています。gfortranを使用してUbuntu 11.10に取り組んでいます。たとえば、次のサブルーチンを使用しようとしていました。
C FILE INOUT.F
SUBROUTINE INOUT
i (NAME, STUFF)
Cf2py Intent(in,out) NAME, STUFF
CHARACTER*6 NAME, STUFF
OPEN(unit=1,file=NAME)
WRITE(1,100) STUFF
100 FORMAT(A8)
RETURN
END
次に、gfortran と f2py を使用してコンパイルします。
f2py -c -m inout inout.f
inout.so 共有ライブラリを作成します。次に、Python で簡単なテストを試します。
python
>>> import inout
>>> inout.inout('test','hello')
('test', 'hello ')
次に、Python を終了し、新しく作成された「テスト」ファイルを開きます。ファイルは空です。画面に問題なく印刷できますが、ファイルに印刷できないようです。任意のガイダンスをいただければ幸いです。f2py のドキュメントでは、WRITE ステートメントについて言及していません。