python函数中的字符串

2024-09-29 01:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用python编写一个函数来读取我的数据。在这个函数之外,类似的东西也能工作

model = open_ncfile('/data/BAF_2001-2013_model.nc')
lat_model = model.variables['lat'][:]
lon_model = model.variables['lon'][:]
data = model.variables['var'][0,:,:]

我怎样才能把它变成一个函数

def plot(model, lat, lon, var):
    model = open_ncfile('/data/BAF_2001-2013_model.nc')
    lat_model = model.variables['lat'][:]
    lon_model = model.variables['lon'][:]
    model = model.variables['var'][0,:,:]

我想这里的基本问题是如何在python中连接函数中的字符串,所以如果调用

plot(model1, lat1, lon1, var1)

我的职能将产生

model1 = open_ncfile('/data/BAF_2001-2013_model1.nc')
lat_model1 = model1.variables['lat1'][:]
lon_model1 = model1.variables['lon1'][:]
model1 = model1.variables['var1'][0,:,:]

所以我可以用不同的模型调用函数,这些模型的变量名有不同的名称。哪儿都找不到! 谢谢:)


Tags: 函数datamodelplotvaropenvariableslon
1条回答
网友
1楼 · 发布于 2024-09-29 01:19:15

您的问题非常不清楚,但我认为您基本上希望动态获取模型并检索其数据,因此这应该可以做到:

def plot(model_name, lat_name, lon_name, var_name):
    model = open_ncfile('/data/BAF_2001-2013_{}.nc'.format(model_name))
    lat = model.variables[lat_name][:]
    lon = model.variables[lon_name][:]
    var = model.variables[var_name][0,:,:]
    return (model, lat, lon, var)

然后你可以:

model, lat, lon, data = plot('model', 'lat', 'lon', 'var')
model1, lat1, lon1, data1 = plot('model1', 'lat1', 'lon1', 'var1')
model42, lat42, lon42, data42 = plot('model42', 'lat42', 'lon42', 'var42')

相关问题 更多 >