将全局变量传递给Python模块

2024-10-03 00:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码module.py,它被导入到我的main.py,这样我就可以使用它的函数,这些函数是用def定义的。导入的模块只有def函数

函数中有一些if语句,我希望从main.py自动操作它们

比如说

主.py

import module as md


BoolIfState=True

for i in range(10):
    md.runfunction(i)

模块.py

def runfuntion(i):
   if BoolIfState:
        print i
   else:
        print i-10

return None

在这里,main.pyBoolIfState的定义改变了runfunctionmodule的行为方式。我尝试在函数中添加global BoolIfState,但没有改变行为

显然,实际的代码要困难得多,但基本思想是一样的

有办法吗


Edit:我避免将变量作为函数的输入,因为如果给定所有需要添加的变量,那么它就会变得杂乱无章。我需要对大约5个变量进行同样的处理,这样一来,在模块内部定义函数的清洁度就丧失了


Tags: 模块函数代码pyimportif定义main