我有一个关于如何将变量从一个模块传递到另一个模块的快速问题。
场景:
我有2个脚本,其中1个是a.py和b.py。
## a.py
import datetime
import numpy as np
import os
class LOG:
testid = ""
log_f = None
perf_log_f = None
def __init__(self):
self.testid = ""
def setTestId (testid, log_f , perf_log_f):
log_v.testid = comp
log_v.log_f = open(log_f , 'w')
log_v.perf_log_f = open(perf_log_f, 'w')
log_v = LOG()
l已启动
## b.py
from a import *
testid = 999
log_f = "kk.log"
perf_log_f = "kk_perf.log"
setTestId (testid, log_f , perf_log_f)
#### Does this setTestId do this step?
"log_v.log_f = open("kk.log", 'w')
"log_v.perf_log_f = open("kk_perf.log", 'w')
进行修正。因此,当我将setTestId
(从a
导入)调用到b.py
中时,log_v = LOG()
仅包含在a.py
中,对吗?
如果我们将log_v
分配给a.py
中的另一个变量,我想检查log_v
中的变量b.py
是否会被覆盖
答案 0 :(得分:0)
我知道了。
LOG()
类在导入a.py
时启动。它已分配给实例log_v
在b.py
中,当我调用函数setTestId (testid, log_f , perf_log_f)
时,它将参数testid, log_f , perf_log_f
传递到log_v
到a.py
并允许初始化类这些变量。
因此,假设我在logging()
中有一个使用a.py
的新函数log_v
,只需导入a.py
并调用函数logging()
,我就能使用LOG()
中包含的实例log_v
访问类a.py
,并对类进行任何修改或更新。此log_v
也受到b.py
中脚本的保护,因此如果我们在log_v
中还有另一个实例或变量名b.py