2015-06-09 39 views
0

從1953年到2014年,我有一組土壤溼度數據文件。它們都是cpc_soil_YYYY.nc格式(其中YYYY是其中之一)。有沒有辦法讓我詢問用戶想要查看哪一年的用戶輸入,並讓我的程序打開相應的功能?我現在有它,我必須手動更改的gedit中的一年,並寫函數抓住每一個變量(土壤溼度與時間的函數,緯度,經度):在Python中的netCDF文件中讀取時的用戶輸入文件名

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') 

回答

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中閱讀有關輸入/輸出的更多信息。