2017-06-01 82 views
0

使用ncinfo命令,我可以從csh中查看netcdf文件的內容(例如,ncinfo test.nc)。 ncinfo命令實際上調​​用python函數 here。我的問題是:如何直接從python shell使用ncinfo函數?運行帶參數的python函數

我試過

from netCDF4.utils import ncinfo 
ncinfo() 

,但我無法弄清楚如何將文件名「test.nc」傳遞給函數。 有什麼想法?

編輯:根據意見,我認爲現在的問題是

如何「假」的蟒蛇殼內的說法餵它們使用getopt.getoptsys.argv接受參數的函數?

+2

如果按照該鏈接時,[ncinfo(https://github.com/Unidata/netcdf4-python/blob/master/netCDF4/utils.py#L427)不在Python中接受函數參數.. –

+0

那麼你期望通過文件名?參數來自'sys.argv' ...所以,你必須使用'subprocess' –

+0

如果你想以編程方式檢查數據,爲什麼不使用'netCDF4.utils.Dataset()',它完成所有繁重的工作,並帶有'filename'。正如所指出的那樣,'ncinfo()'是cmd行界面。 – AChampion

回答

2

由於Alan Leuthardjez在註釋中指出,可以在調用函數之前手動修改sys.argv(不知道它是否可變)。因此,工作方案是

from netCDF4.utils import ncinfo 
backup = sys.argv 
sys.argv = ['','test.nc'] 
ncinfo() 
sys.argv = backup