在Python中传递模块之间的值

时间:2012-07-11 08:36:32

标签: python python-module

我想知道如何在Python中的模块之间传递值。

在generate_image.py中我有:

def gerenate_image(fr,to,lat1,lon1,lat2,lon2):
    output_image_name = spatial_matrix.plot_spatial_data(data_array,data_array.shape[0],data_array.shape[1],float(lon1)/10000,float(lon2)/10000,float(lat1)/10000,float(lat2)/10000,fr,to)
return()

在overlay.py中,我想使用“output_image_name”,所以我尝试了:

import generate_image

def overlay():
    overlay = generate_image.output_image_name
    ....

但它不起作用。那么如何检索output_image_name的值呢?谢谢。

2 个答案:

答案 0 :(得分:4)

让你的函数返回一些东西。

def generate_image(fr,to,lat1,lon1,lat2,lon2):
    return spatial_matrix.plot_spatial_data(data_array,data_array.shape[0],data_array.shape[1],float(lon1)/10000,float(lon2)/10000,float(lat1)/10000,float(lat2)/10000,fr,to)

然后在另一个地方导入并调用该函数。

from yourmodule import generate_image

def overlay():
    background = generate_image(*args) # Or what ever arguments you want.

答案 1 :(得分:1)

overlay.py

def gerenate_image(fr,to,lat1,lon1,lat2,lon2):
    return spatial_matrix.plot_spatial_data(...)

generate_image.py

import generate_image

def overlay():
    overlay = generate_image.generate_image(...)