2016-08-02 1 views
0

다른 파일의 값을 변수로 사용하여 함수를 실행하려고합니다.가져온 파일의 변수로 함수 실행

하나 개의 파일 포함 (의이 text.py을 가정 해 봅시다) :

VAR="abc" 

을 주요 파일에서 :

variable1 -> that variable contain value "VAR" 
import text 

을 실행 기능 :

example_function(connect=text.variable1) 

내가 이런 식으로 할 수없는 이유 ?

편집 :

실제 코드 :

variable = "VAR_23_23" 
import text 
from functionfile import number_function 
from functionfile import find_number 
number_to_substr=find_number(variable,"_",1) 
source_var=variable[:number_to_substr] 
number_function(connect=text.source_var) 

편집 2.

text.py가 포함되어

VAR="abc" 

main.my 포함 :

import text 

    variable = "VAR_23_23"   
    from functionfile import number_function 
    from functionfile import find_number 

    number_to_substr=find_number(variable,"_",1) -> the result is "4" 
    source_var=variable[:number_to_substr] -> the result is "VAR" 
    number_function(connect=text.source_var) -> now trying to execute function with that variable name but as result I expect value from TEXT.py file. 
지금 대신 내가 'VAR'를 가지고 'ABC'가치에 대한

variable1이 기본 파일에 상주하기 때문에 당신은 text.variable1 할 수 없습니다

+2

이것은 분명하지 않습니다. 'text.VAR'가'text.py'에서'VAR'의 값을 가져 오기 위해 작동하지 않습니까 (가져온 후에)? – Aurora0001

+2

작동하는 코드 조각을 보여주는 실제 코드 스 니펫을 게시하십시오. –

+0

'variable1'은'main' 모듈의 현재 모듈 안에서 정의되어 있으므로'text.variable1' 전체가 정확하지 않습니다 –

답변

1

을 value.`.

가져온 파일에서 값을 사용할 수 있습니다 :

import text 
example_function(connect=text.VAR) 

또는 variable1의 값을 사용 : 내가 게시 한으로 무엇을 당신이하려는 것은 경우

example_function(connect=variable1) 

내 의견에 다음이 작동하도록하려면 변경해야합니다.

먼저 text.py 파일을 편집하여 변수는 그것은 "VAR" 키를 포함하는 사전의 인스턴스를 포함 VAR 이름 :

d = {'VAR': "abc"} 

지금, 주요 파일에 'VAR'의 값에 액세스하기 위해, text.d[source_var]을한다. 즉

number_function(connect=text.d[source_var]) 

source_var 변수 문자열 "VAR" 포함한다고 가정된다.

+0

안녕하세요, 귀하의 답변 주셔서 감사합니다. 나는 나의 질문을 편집했다. 제발 정확히 무슨 뜻인지보세요 – maciek2791

+0

"변수"는 정적이지만 입력 변수로 만들고 싶습니다. – maciek2791

+0

당신이 언급 한 정적 값을 사용할 수 없다는 것입니다 : (connect = text.VAR). -> "VAR"을 여기에 정적으로 넣을 수는 없습니다. 변수로만 사용하십시오. 두번째 해결 방법이 정상적으로 작동하지 않습니다 : ( – maciek2791