gpt4 book ai didi

python - python中跨多个文件的全局变量

转载 作者:太空狗 更新时间:2023-10-30 01:49:06 27 4
gpt4 key购买 nike

我有一个 modules.py 文件:

global dns_server_ip
def SetVnetGlobalParameters():
dns_server_ip = '192.168.3.120'

我将这个文件导入到 abc.py 文件中

from modules import *
SetVnetGlobalParameters()
print(dns_server_ip)

但是“dns_server_ip”仍然无法访问。

我只想通过函数设置全局参数。任何帮助将不胜感激!谢谢..

最佳答案

根据你的问题,我了解到你是 python 的初学者。

在导入模块时,您只使用模块名称,不需要包含扩展名或后缀 (py),并且在您的代码中您错过了起始单引号。

这是您修改后的代码:它是 modules.py

dns_server_ip = ''
def SetVnetGlobalParameters():
global dns_server_ip
dns_server_ip = '192.168.3.120′

这是你的 abc.py

import modules 
modules.SetVnetGlobalParameters()
print modules.dns_server_ip

这里通过 global 关键字,我们告诉 python 解释器更改或指出全局变量而不是局部变量,并且变量始终是 globallocal如果变量既是本地变量又是全局变量,你将得到 python UnboundLocalError 异常,如果你没有放置全局关键字

global dns_server_ip

dns_server_ip 将被创建为一个新的局部变量。关键字 global 仅在函数中使用

可以查看global keyword , python modules

关于python - python中跨多个文件的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16075512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com