使用导入文件中的变量执行函数

时间:2016-08-02 12:58:49

标签: python import

我正在尝试使用其他文件中的值作为变量执行函数。

一个文件(让我们假设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. 

现在取代'abc'值,我得到'VAR'值。

1 个答案:

答案 0 :(得分:1)

您无法text.variable1,因为variable1位于您的主文件中。

您可以使用导入文件中的值:

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"