我有一套1953年至2014年的土壤湿度数据文件。所有这些文件都是cpc_soil_YYYY.nc(其中YYYY是其中一年)。有没有办法让我询问用户想要查看哪一年的用户输入,并让我的程序打开相应的功能?我目前有必须手动更改gedit中的年份,并编写函数来获取每个变量(土壤湿度随时间变化,lat,lon):
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')
答案 0 :(得分:2)
您可以使用input()
要求用户输入年份。然后,您可以使用它来生成文件路径。
...
year = input("Enter year: "))
filename = '/data/reu_data/soil_moisture/cpc_soil_%s.nc' % (year,)
fid=nc.MFDataset(filename,'r')
fid.close()
...
您应该进行错误检查,以确保用户输入的值实际上是一年,并且属于您的数据范围。
您可以在Python here中阅读有关输入/输出的更多信息。