Python函数没有从python脚本正确调用

时间:2013-05-24 06:31:21

标签: python bash

我正在尝试自动化一些数据以在python中绘图。我有一个BASH脚本将文件移动到正确的目录,然后调用以下脚本:

 python /discover/nobackup/projects/giss/exec/plotcek.py

plotcek.py脚本包含以下内容:

 #!/bin/python

 import glob
 import plot_checkaij
 from plot_checkaij import plot_checkaij
 import plot_checktaij
 from plot_checktaij import plot_checktaij

 run=glob.glob('JUN*.aijE*.nc')
 if not run: pass
 else:
       plot_checkaij(run[0])

 run=glob.glob('DEC*.aijE*.nc')
 if not run: pass
 else:
       plot_checkaij(run[0])

 run=glob.glob('JUN*.taijE*.nc')
 if not run: pass
 else:
       plot_checktaij(run[0])

 run=glob.glob('DEC*.taijE*.nc')
 if not run: pass
 else:
      plot_checktaij(run[0])

这个脚本基本上会在当前文件夹中查找与语法匹配的文件,例如'JUN * .aijE * .NC'。如果文件存在,则调用并操作函数

 plot_checkaij(run[0]), 

如果没有,它会转到下一个“if”语句。我遇到的问题是plotcek.py脚本没有正确调用该函数。

当我执行BASH脚本时,我实际得到的是:

 def plot_checkaij(run):

打印到屏幕上,而不是运行该功能。

当我手动进入python并通过将其复制到命令行来运行脚本时,一切都正常运行。从plotcek.py脚本调用函数时,我遇到了问题。

我是编程新手,我非常接近于让这个脚本正常工作,但我无法发现这个最后的小错误!

我很感激任何帮助!的由于 !!

P.S。我不确定它是否有帮助,但这里是plot_checkaij函数代码:

  def plot_checkaij(run):

    import netCDF4
    from netCDF4 import Dataset
    from pylab import *

    ncfile=Dataset(run,'r')

    temp=ncfile.variables['tsurf'][:,:]
    prec=ncfile.variables['prec'][:,:]
    sst=ncfile.variables['sst'][:,:]
    lat=ncfile.variables['lat'][:]
    lon=ncfile.variables['lon'][:]

    subplot(3,1,1)
    pcolor(lon,lat,temp)
    #xlim([-180,180])
    #ylim([-90,90])

    subplot(3,1,2)
    pcolor(lon,lat,prec)
    #xlim([-180,180])
    #ylim([-90,90])

    subplot(3,1,3)
    pcolor(lon,lat,sst,vmin=-5,vmax=30)
    #xlim([-180,180])
    #ylim([-90,90])

    savefig(run+".png",optimize=True,quality=85)
    quit()

0 个答案:

没有答案