首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中读取netCDF文件时,用户输入文件名

在Python中读取netCDF文件时,用户输入文件名
EN

Stack Overflow用户
提问于 2015-06-09 20:02:26
回答 1查看 261关注 0票数 0

我有一套1953-2014年的土壤水分数据文件。所有这些都是表格cpc_soil_YYYY.nc ( YYYY是其中之一)。有没有办法要求用户输入用户想要查看的年份,并让我的程序打开相应的函数?目前,我必须手动更改gedit中的年份,并编写了获取每个变量的函数(土壤湿度作为时间、lat、lon的函数):

代码语言:javascript
运行
复制
    import netCDF4 as nc
    import numpy as np
    import numpy.ma as ma
    import csv as csv

    fid=nc.MFDataset('/data/reu_data/soil_moisture/cpc_soil_1957.nc','r')
    fid.close()
    ncf='/data/reu_data/soil_moisture/cpc_soil_1957.nc'

    def read_var(ncfile, varname):
        fid=nc.Dataset(ncfile, 'r')
        out=fid.variables[varname][:]   
        fid.close()
        return out

    time=read_var(ncf, 'time')
    lat=read_var(ncf, 'lat')
    lon=read_var(ncf, 'lon')
    soil=read_var(ncf, 'soilw')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 20:20:26

您可以使用input()请求用户输入年份。然后您可以使用它生成文件路径。

代码语言:javascript
运行
复制
...
year = input("Enter year: "))
filename = '/data/reu_data/soil_moisture/cpc_soil_%s.nc' % (year,)
fid=nc.MFDataset(filename,'r')
fid.close()
...

您应该进行错误检查,以确保用户输入的值实际上是一年,并且在数据的范围内。

您可以在Python 这里中阅读更多关于输入/输出的内容。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30741756

复制
相关文章

相似问题

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