首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python os.walk netCDF4不能协同工作

Python os.walk netCDF4不能协同工作
EN

Stack Overflow用户
提问于 2016-09-20 21:40:42
回答 1查看 106关注 0票数 0

我正在尝试浏览一系列.nc文件来运行一小部分代码。下面的测试脚本打印目录中的第一个文件名,但是当我使用ncfile = netCDF4.Dataset(fname, 'r')时,我得到以下错误

代码语言:javascript
复制
File "netCDF4\_netCDF4.pyx", 
line 1795, in netCDF4._netCDF4.Dataset.__init__ 
(netCDF4\_netCDF4.c:12278)
    RuntimeError: No such file or directory

这是一个与os.walk和netCDF4不兼容的问题,还是我犯的一个简单的错误?

代码语言:javascript
复制
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')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-20 21:57:58

这似乎是一个需要路径和目录的简单问题。

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

因此,我将其替换为

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

并在循环外指定了fdir。为简单起见,我将os.walk替换为os.listdir,因为我不需要遍历目录树。

代码语言:javascript
复制
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')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39595735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档