| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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)
 
 
  复制代码 
 
 
 
 |   
 
 
 
 |