多个文件中的Python全局变量

2023-12-19

我有 2 个守护进程,它们应该访问相同的变量。 我为全局变量创建了第三个文件,每个守护程序都可以访问该变量。但是,当一个人更改变量时,另一个人仍然会看到默认值。

example:

glob.py

time = 0

守护进程a:

import datetime
import time
import glob

while(True):
    glob.time = datetime.datetime.now()
    time.sleep(30)

守护进程b:

import glob

while(True):
    print(glob.time)

每次都会打印0 我希望我已经弄清楚了我的问题,并且有人可以帮助我。 如果您需要更多信息,请随时询问。


如何跨模块共享全局变量? https://docs.python.org/2/faq/programming.html#how-do-i-share-global-variables-across-modules

在单个程序中跨模块共享信息的规范方法是创建一个特殊的模块(通常称为 config 或 cfg)。只需在应用程序的所有模块中导入配置模块即可;然后该模块就可以作为全局名称使用。因为每个模块只有一个实例,所以对模块对象所做的任何更改都会反映到各处:

import time
import glb

while(True):
    glb.t +=  1
    time.sleep(3)
    print glb.t 

b.py:

import glb
import a
while(True):
    print(glb.t)

glb.py:

t = 0

启动a.py后输出:

python b.py
1
2
3
4
5
6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个文件中的Python全局变量 的相关文章

随机推荐

  • Laravel 4:如何将 WHERE 条件应用于 Eloquent 类的所有查询?

    我正在尝试为我拥有的表实现 已批准 状态 这非常简单 基本上 如果该行的批准列等于 1 则应该检索该行 否则不应检索 问题是 现在我必须遍历整个代码库并添加 WHERE 语句 即函数调用 这不仅耗时而且效率低下 如果我想删除该功能等 我怎样
  • 如何在 DynamoDB 中实现按项目的任意属性排序

    我的 DynamoDB 结构如下 我有患者 其患者信息存储在其文档中 我有索赔 索赔信息存储在其文档中 我的付款信息存储在其文档中 每项索赔都属于患者 患者可以提出一项或多项索赔 每一笔付款都属于患者 患者可以有一次或多次付款 I crea
  • 为什么马赛克::衍生因子比基函数慢两倍?

    我正在尝试使用derivedFactor来自mosaic在 R 中打包来创建因子变量 但速度慢得惊人 当我使用一系列代码编写相同的函数时if声明并运行 它的运行速度似乎几乎快了一倍 这是一个可重现的示例 抱歉长度太长 library mic
  • 在 Firestore 中查询 GeoHashes 不会返回任何内容

    Firebase 网站上给出了从 Firestore 检索给定点 50 公里位置内所有位置的代码 这里是 Find cities within 50km of London let center CLLocationCoordinate2D
  • 在 IE 8/9 中使用“use strict”是否安全

    根据这个http caniuse com use strict http caniuse com use strict use strict IE 8 9 版本不支持 我的问题是 在 IE 8 9 或不兼容的浏览器中使用 use stric
  • 如何获得逻辑回归特征对于特定预测的相对重要性?

    我正在使用逻辑回归 在 scikit 中 来解决二元分类问题 并且有兴趣能够解释每个单独的预测 更准确地说 我感兴趣的是预测正类的概率 并衡量每个特征对于该预测的重要性 使用系数 Beta 作为重要性衡量标准通常是一个坏主意正如这里所回答的
  • C++ 将变量转换为模板参数

    我想使用模板进行优化 如上所述here https stackoverflow com a 8805655 1341914 但是 随着 bool 模板参数数量的不断增加 实例化模板可能会有太多分支 如果您使用更大的枚举而不是布尔值 它会变得
  • RabbitMQ - 联合队列与交换联合

    我已经建立了一个兔子集群 每次数据库中发生变化时 我都会将消息发布到扇出交换中 我有专用队列绑定到此交换 用于使用这些更新的一些微服务 并且我最初还为外部客户端设置了专用队列 以便他们可以将其与自己的 Rabbit 基础设施联合并使用每条消
  • 使用投影从子表中获取特定列

    我有两张桌子 Loan id amount duration LoanStatus id status loan id just an example but it has lot more fields in this table 贷款
  • 在 jquery 中选择主复选框时选中/取消选中复选框

    我的列标题中有一个复选框 单击它时 需要选中所有复选框 取消选中主复选框时 所有复选框都应取消选中 我用谷歌搜索了很多 但我只得到了这种事情的 javascript 代码 但我想要纯 JQuery 的东西 我将我的代码粘贴在这里 现在单击主
  • Laravel 4.1 从响应中删除枢轴属性

    我正在使用 laravel 4 1 构建 api 我有一个工作正常的枢轴表 但响应带有我不想要的枢轴属性 正如您将在我的示例中看到的 我有两个表名称 trips 和 users 我不想在我的回复中看到数据透视表属性 这是示例 id 140
  • Python 中的警报框?

    是否有可能生成类似于Python中JavaScript的alert message 的警报 并且应用程序作为守护进程运行 这将在 Windows 中运行 很可能是 XP 但 2000 和 Vista 也非常有可能 Update 这是为了在后
  • 从 Activity android 退出时停止播放 exo 播放器视频

    我正在使用 Exo Player 我的视频播放正常 但是当我按后退按钮并退出活动时 我的视频继续在后台播放 我不知道如何在活动完成后停止播放 请帮助 这是我在 recyclerview 适配器中的 exoplayer 代码 String m
  • win32 WM_NOTIFY 与 WM_COMMAND

    这是一道理论题 旨在控制 win32 api 中的消息 有什么区别WM COMMAND and WM NOTIFY 我们什么时候需要处理这些消息 什么时候我们选择忽略它们 出现这种疑问是因为当用户与控件交互时 这两个消息都会发送 并且都将相
  • Scipy/Numpy/scikits - 基于两个数组计算精确度/召回率分数

    我拟合逻辑回归模型并使用以下方法基于训练数据集训练模型 import scikits as sklearn from sklearn linear model import LogisticRegression lr LogisticReg
  • 在 TCL 中使用多个参数启动程序 (vcom) 时出现问题

    我正在尝试使用额外选项从 TCL 脚本启动程序 vcom set compilationArgs quiet 93 vcom compilationArgs work work polar2rect sc corproc vhd 但是当我运
  • 必需的参数缺少 grant_type Google oauth2.0 AngularJS 和 Cordova inappbrowser

    我正在使用 Cordova 的 inappbrowser 并集成 Google oauth2 0 获得授权代码后 我会发出发布请求来获取我的令牌 无论我尝试什么 我总是收到 400 错误 提示 必需参数缺少 grant type 我正在编码
  • 即使在导入通用模块之后,也出现“无法绑定到‘ngIf’,因为它不是‘div’的已知属性” - Angular 9

    我一直收到这个错误 我正在导入通用模块并在我的模块中声明该组件 请让我知道有什么问题 ngif 在应用程序模块中导入的组件上运行良好 由于某种原因 它不适用于此 顺便说一下 这个模块正在应用程序路由模块中延迟加载 import NgModu
  • 错误 - 没有注册仪器!必须在注册工具下运行

    A 为什么当我尝试运行应用程序时出现此错误 我的崩溃日志错误 java lang RuntimeException 无法启动活动 java lang IllegalStateException 没有注册仪器 必须 在注册仪器下运行 在 an
  • 多个文件中的Python全局变量

    我有 2 个守护进程 它们应该访问相同的变量 我为全局变量创建了第三个文件 每个守护程序都可以访问该变量 但是 当一个人更改变量时 另一个人仍然会看到默认值 example glob py time 0 守护进程a import datet