|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 51Arduino32 于 2022-1-17 22:10 编辑
鱼友们,如下图,我想在 a.py 里拿到 正在运行的 b.py 里的 count 变量值(先运行b.py,再运行a.py),有什么好方法吗, 我试过去掉 b.py 里的 if__name__=="__main__"; 虽然这时候运行 a.py 拿到的count值不是0,但也不是 b.py 中的 count 值(也是先运行b.py,再运行a.py),他是重新 0 开始的, 如图二,来求助一下
图1
图2
以下是两个代码的内容:
a.py
- # a.py
- import b
- import time
- if __name__=="__main__":
- while 1:
- count = b.count # 获取b.py 里面的 count变量值
- print("count is {}".format(count))
- time.sleep(1)
复制代码
b.py
- # b.py
- import a
- import time
- count = 0
- class A:
- def __init__(self):
- self.count=0
- def add(self):
- global count
- self.count+=1
- def getCount(self):
- return self.count
- if __name__=="__main__":
- s = A()
- while 1:
- s.add()
- count = s.getCount()
- print("count is {}".format(count))
- time.sleep(1)
复制代码
拿个文件存储一下
- # a.py
- import time
- import pickle
- if __name__=="__main__":
- while 1:
- count = pickle.load(open('count','rb')) # 获取b.py 里面的 count变量值
- print("count is {}".format(count))
- time.sleep(1)
复制代码- # b.py
- import time
- import pickle
- count = 0
- class A:
- def __init__(self):
- self.count=0
- def add(self):
- global count
- self.count+=1
- def getCount(self):
- pickle.dump(self.count,open('count','wb'))
- return self.count
- if __name__=="__main__":
- s = A()
- while 1:
- s.add()
- count = s.getCount()
- print("count is {}".format(count))
- time.sleep(1)
复制代码
|
|