2014-07-15 7 views
0

Я использую скрипт python 2.6, который я использую довольно долго, и я получаю сообщение об ошибке, которого он не должен быть. Сценарий питон запускается формируют местоположение, где файл NetCDF находится, вот кодPython и netCDF sciprt больше не работают

from numpy import * 
import numpy as numpy 
from netCDF4 import Dataset 
import datetime as DT 
from time import strftime 
import os 

floc ='/media/USB-HDD/NCEP_NCAP data/data_2010/' #location of directory that the file resides 
fname ='cfsr_Scotland_2010' # name of the netCDF file 
in_ext = '.nc'  # ending extentsion of the netCDF 

basetime = DT.datetime(2010,01,01,0,0,0) # Initial time (start) for the netCDF 

ncfile = Dataset(floc+fname+in_ext,'r') # netCDF assigned name 



time = ncfile.variables['time'] 
lon = ncfile.variables['lon'] 
lat = ncfile.variables['lat'] 
uwind = ncfile.variables['10u'] 
vwind = ncfile.variables['10v'] 
ht = ncfile.variables['height'] 

Я получаю ошибку в ncfile именовании, что нечетный, потому что я проверил, как его письменное

Traceback (most recent call last): 
    File "CFSR2WIND.py", line 24, in <module> 
    ncfile = Dataset(floc+fname+in_ext,'r') # netCDF assigned name 
    File "netCDF4.pyx", line 1317, in netCDF4.Dataset.__init__ (netCDF4.c:14608) 
RuntimeError: No such file or directory 

кто-нибудь знает, почему и что это вызвано, и как она может быть решена

спасибо

джордж

ответ

1

Попробуйте использовать netcdf модуль из SciPy вместо:

from scipy.io.netcdf import netcdf_file as Dataset 

Пара другие предложения:

  1. numpy Импорт. Вы импортируете его дважды, и во всех случаях это немного опасно читать, используя *. По соглашению большинство людей сокращают numpy как np и загружают его как import numpy as np. Затем вы можете вызывать экземпляры из numpy с помощью, например, np.mean().

  2. Конкатенация пути, имени файла и расширения файла. Можно использовать конкатенацию строк, используя знак +, но есть другой способ сделать это, используя команду join. Итак, общее имя файла будет примерно filename = ''.join([floc, fname, in_ext]).