为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用从另一个文件python导入的变量中的值

如何使用从另一个文件python导入的变量中的值

守着一只汪 2021-07-02 18:10:51
所以我知道之前已经以多种形式提出过这个问题,但我无法与其中任何一种联系起来,要么我有不同的东西,要么我就是不理解它们。问题是我有脚本 A 和脚本 B,在脚本 AI 中计算并拥有我想在脚本 B 中使用的所有变量。脚本 A 有各种功能,假设现在我只想将一个简单的数字从脚本 A 中的变量传递给脚本 B ,让我们调用变量value。我用过from script_A import value。现在,我已经value在 script_A 中初始化了 0 就在顶部这样说,但是 script_A 处理value,并得到与 0 明显不同的结果,但是当我调试时,我进入的是 script_B value == 0,而不是value == calculated_value_that_should_be_there。我不知道该怎么做,所以我对范围很苛刻,所以我把它放在return一个函数中,我试着让变量value成为一个全局变量。我没有传递计算的“值”,但我将 0 初始化传递给 script_B 的方式似乎没有任何作用。PS 我尝试的最后一件事以及我从本主题中看到的是导入 script_A ,因为它没有命名空间。这已经奏效了。当我编写 script_A.value 时,它是calculated_value_that_should_be_there。但是,我不知道为什么我描述的其他任何东西都不起作用。script_Afrom definitions import *variable_1 = 0variable_2 = 0variable_3 = 0variable_4 = 0 total = 0respected = 0time_diff = {}seconds_all_writes = "write"class Detect():    def __init__(self, data_manager, component_name, bus_name_list=None): def __Function_A(self):       """        global time_diff        global seconds_all_writes        processscript_B:from script_A import respectedfrom script_A import totalimport script_A        print aln_mon_detector.total        print aln_mon_detector.respected我也想要字典table_content.append(script_A.time_diff[文件[script_A.seconds_all_writes])我得到KeyError: '写'
查看完整描述

3 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

如果你有script A这样的:


# imports


value = 0

...  # some calculations

重新组织script A为:


# imports


def main():

    value = 0

    ...  # some calculations

    return value

现在,你可以导入script A中script B并运行calculations里面script B:


import script_A


value = script_A.main()

这就是你应该如何在 Python 中组织代码片段。


查看完整回答
反对 回复 2021-07-06
?
动漫人物

TA贡献1815条经验 获得超10个赞

这可能与不变性有关。取决于是什么value。如果value是一个列表(即可变对象)并且您附加到它,则更改应该是可见的。但是,如果你写

from module import x
x = 5

您没有更改实际值,因此其他引用x仍将显示原始对象。


查看完整回答
反对 回复 2021-07-06
  • 3 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号