2017-06-01 83 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