副程序中的主程序变量(Python)
如何在副程序中使用主程序中存在的变量?例如,如果我在主程序中使用Var1,我将如何在副程序中使用它,例如,我将如何打印它 以下是我现在拥有的:副程序中的主程序变量(Python),python,Python,如何在副程序中使用主程序中存在的变量?例如,如果我在主程序中使用Var1,我将如何在副程序中使用它,例如,我将如何打印它 以下是我现在拥有的: #Main program Var1 = 1 #Side program from folder import mainprogram print(mainprogram.Var1) 我认为如果在导入主程序时它没有运行主程序,这会起作用,因为我在其中执行了其他函数。如何导入所有主程序数据,但不让其执行? 我唯一想到的就是从程序中导入那个特定的变量,但
#Main program
Var1 = 1
#Side program
from folder import mainprogram
print(mainprogram.Var1)
我认为如果在导入主程序时它没有运行主程序,这会起作用,因为我在其中执行了其他函数。如何导入所有主程序数据,但不让其执行?
我唯一想到的就是从程序中导入那个特定的变量,但我不知道怎么做。我脑子里想的是:
from folder import mainprogram
from mainprogram import Var1
但是它仍然超出了mainprogram。您的方法基本上是正确的(除了从文件夹导入mainprogram导入的
——这看起来有点奇怪,除非您想从名为folder.py
的Python脚本导入名为mainprogram
)的函数。您还注意到,导入时会执行导入的模块。这通常是你想要的
但是,如果模块的某些部分只希望在直接运行时执行(如在python.exe mainprogram.py
中),而在执行import mainprogram
时不执行,则将程序的这些部分包装在if
块中,如下所示:
if __name__ == "__main__":
# this code will not be run on import
相关:我不明白。这与我的问题有什么关系?我想在什么地方使用我在主程序中的变量,或者在副程序中编辑它们?@Justin这与你在导入时执行mainprogram
有关。啊。现在我有点理解了为什么它是相关的。听起来你需要学习如何创建自己的模块,以便导入语法能够找到它们。我建议开始。哇。谢谢另外,我放了“from folder import mainprogram”,因为一开始它不允许我导入mainprogram,即使它在同一个文件夹中,当我把“from folder”语句放在它前面时,它工作了。现在出于某种奇怪的原因,它允许我导入它,而不使用“from”语句。