我可以使用python静态变量在两个模块之间通信吗?

2024-05-15 16:57:26 发布

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

我有两个文件,一个在自动测试中执行一个步骤,另一个文件存储并通过电子邮件发送测试结果。这两个文件都是使用Hudson服务器启动的,我需要第一个模块与第二个模块共享信息,但是当我访问Reporter模块中的静态变量时,它们的初始值为“None”。为了集中精力让数据共享发挥作用,我已经将文件缩减到最低限度。文件一是:

    #!/usr/bin/python 

    from reports import Reporter 
    import time

    class Flash_Device(): 
        def Begin_Flashing( self ):
            Reporter.flash_start_time = time.time() 

    if ( __name__ == "__main__" ): 
        flasher = Flash_Device()
        flasher.Begin_Flashing() 

第二个文件是定义如下代码的报告文件:

^{pr2}$

我希望我能执行闪光器.py,它更新静态变量flash_start_time,然后可以在执行时访问更新的值记者.py. 如果我将Begin_Flashing()方法设为静态的,这会起作用吗?在


Tags: 模块文件pyimporttimedevice静态reporter
1条回答
网友
1楼 · 发布于 2024-05-15 16:57:26

不,问题是只有一个模块可以是"__main__",因此只运行一个主节。在

不过,您的代码没有任何问题,只是您导入了Monkey_Reporter,而您可能想要导入Reporter。不,通过reports访问它不会改变任何东西;它们仍然是同一个类。在

相关问题 更多 >