因此,我有點尷尬。我正在試圖編寫Fortran77的擴展程序(爲什麼這個程序在F77中被重寫,這也是一個謎),它需要命令行輸入,即它會提示用戶輸入。目前該程序使用GNUplot進行繪圖,但在我看來,GNUplot適配程序並不理想,而從Fortran調用GNUplot對於至少可以說是一種痛苦。在Python中運行Fortran命令行程序
我一直在努力與Numpy,Scipy和Matplotlib,以滿足我的擬合和繪圖的需求。我想知道是否有一種方法可以在Python中調用F77程序,然後讓它像我的任何其他F77程序一樣運行,直到我需要它的部分適合並吐出一些好的情節(沒有這個GNUplot的東西)。
我知道關於F2PY,但我聽說過它的混合的東西。我也考慮過使用pyexpect並從那裏開始,但是我對它在屏幕上處理預期提示的方式(或者我錯誤地使用它)有不好的經驗。
感謝您對此的任何信息。
所以Fortran程序是提示用戶輸入的交互式程序?你可以重寫它來接受命令行參數或其他腳本輸入嗎? – 2011-03-28 22:56:56
是的,它基本上會詢問你想分析哪個數據通道,以及你是否想要設置限制或者它使用默認設置。我知道我可以通過在其上運行一個shell腳本來相當容易地自動化部分,但問題是我們在不同的渠道之間來回切換,可能想調整一些參數而無需再次運行整個事件。當前格式的原因在下面的註釋中@greg – madtowneast 2011-03-28 23:06:55
如果您打算通過標準輸出或輸出文件(使用ramdisk可以很快)獲得FORTAN的輸出,則可以使用'subprocess'。但是我認爲你希望能夠將正在運行的FORTRAN程序內存作爲一個numpy數組訪問? – Paul 2011-03-28 23:15:03