我正在尝试使用其他文件中的值作为变量执行函数。
一个文件(让我们假设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'值。
答案 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"
。