2016-09-20 14 views
0

小さなコードを実行するために一連の.ncファイルを調べようとしています。テストスクリプトは以下のディレクトリに最初のファイル名を出力しますが、私はncfile = netCDF4.Dataset(fname, 'r')を使用するとき、私は、エラーPython os.walk netCDF4が連携していません

File "netCDF4\_netCDF4.pyx", 
line 1795, in netCDF4._netCDF4.Dataset.__init__ 
(netCDF4\_netCDF4.c:12278) 
    RuntimeError: No such file or directory 

これはos.walkとの非互換性の問題であるとnetCDF4か、それは私が作っていますシンプルな誤りであるを取得しますか?

import os 
import netCDF4 

for root, dirs, files in os.walk('E:\satellite .nc data\ENVISAT2006'): 
    for fname in files: 
     print fname # works up to here and without line below it prints all filenames 
     ncfile = netCDF4.Dataset(fname, 'r') 

答えて

1

それは私が

ncfile = netCDF4.Dataset(os.path.join(fdir,fname), 'r')

とそれを交換し、外fdirを指定している

ncfile = netCDF4.Dataset(fname, 'r')

でパスとディレクトリを必要とする簡単な問題だったようですループ。簡単にするために、os.walkos.listdirに置き換えました。ディレクトリツリーを経由する必要はありません。

import os 
import netCDF4 
import numpy as np 
from math import pi 
from numpy import cos, sin 

fdir = 'E:\satellite .nc data\ENVISAT2006' 
for fname in os.listdir('E:\satellite .nc data\ENVISAT2006'): 
#os.walk only needed if going through all of the files in a directory tree 
    #for fname in files: 
    print fname 
    ncfile = netCDF4.Dataset(os.path.join(fdir,fname), 'r') 
関連する問題