2012-07-11 4 views
0

파이썬에서 모듈간에 값을 전달하는 방법을 알고 싶습니다. overlay.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() 

, 내가 "output_image_name"를 사용하려면, 그래서 시도 : generate_image.py에서

나는이

import generate_image 

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

가 있지만 작동하지 않았다. 어떻게 output_image_name 값을 검색 할 수 있습니까? 감사.

+2

이 내가 당신이 [파이썬 튜토리얼]를 읽을 것을 권장 이러한 상황 중 하나입니다 (HTTP : //docs.python .org/tutorial /)를 작성하십시오. –

답변

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. 
+0

답장을 보내 주셔서 감사합니다! 하지만 문제는 generate_image의 args에 다른 모듈이 많이 포함되어있어 모두 가져와야한다는 것입니다. gerenate_image.py에서 "output_image_name"값을 전달하는 더 쉬운 방법은 있습니까? – oops

+0

아님 ..... –

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(...) 
+0

마지막 줄에 구문 오류가 있습니다. ^^ –

+0

'(...) '을 의미합니까? –

+0

그렇습니다. 'overlay = generate_image.generate_image()'에 6 개의 인자가 올 것이라 예상했는데 아무 것도주지 않았습니다. –