使用参数运行python函数
通过该命令,我可以从csh(例如使用参数运行python函数,python,Python,通过该命令,我可以从csh(例如ncinfo test.nc)查看netcdf文件的内容。ncinfo命令实际上调用python函数 . 我的问题是:如何直接从python shell使用ncinfo函数 我试过了 from netCDF4.utils import ncinfo ncinfo() 但我不知道如何将文件名“test.nc”传递给函数。 有什么想法吗 编辑:根据评论,我认为现在的问题是 如何在python shell中“伪造”一个参数以提供一个函数,该函数使用getopt.get
ncinfo test.nc
)查看netcdf文件的内容。ncinfo命令实际上调用python函数
. 我的问题是:如何直接从python shell使用ncinfo函数
我试过了
from netCDF4.utils import ncinfo
ncinfo()
但我不知道如何将文件名“test.nc”传递给函数。
有什么想法吗
编辑:根据评论,我认为现在的问题是
如何在python shell中“伪造”一个参数以提供一个函数,该函数使用getopt.getopt
和sys.argv
来接受参数?正如在注释中指出的,在调用函数之前,可以手动修改sys.argv(不知道它是可变的)。因此,一个有效的解决方案是
from netCDF4.utils import ncinfo
backup = sys.argv
sys.argv = ['','test.nc']
ncinfo()
sys.argv = backup
正如和在注释中指出的,可以在调用函数之前手动修改sys.argv(不知道它是可变的)。因此,一个有效的解决方案是
from netCDF4.utils import ncinfo
backup = sys.argv
sys.argv = ['','test.nc']
ncinfo()
sys.argv = backup
如果遵循链接,则不接受python中的函数参数。那么您希望如何传递文件名?参数来自
sys.argv
。。。因此,如果希望以编程方式检查数据,那么必须使用子流程
,为什么不使用netCDF4.utils.Dataset()
,它完成所有繁重的工作,并使用文件名
。正如前面指出的,ncinfo()
是cmd行接口。在IPython shell提示符下,您可以说run/path/to/ncinfo test.nc
。或者更一般地说,您可以在调用ncinfo()
之前手动设置sys.argv[1:],如果函数使用sys.argv[1:]获取参数,只需在其中放入一个新值……sys.argv.append(“test.nc”),如果您遵循链接,则不接受python中的函数参数。那么您希望如何传递文件名?参数来自sys.argv
。。。因此,如果希望以编程方式检查数据,那么必须使用子流程
,为什么不使用netCDF4.utils.Dataset()
,它完成所有繁重的工作,并使用文件名
。正如前面指出的,ncinfo()
是cmd行接口。在IPython shell提示符下,您可以说run/path/to/ncinfo test.nc
。或者更一般地说,您可以在调用ncinfo()
之前手动设置sys.argv[1:][/code>,如果函数使用sys.argv[1:]获取参数,只需在其中添加一个新值…sys.argv.append(“test.nc”)