提问人:OhItsTom 提问时间:7/16/2022 最后编辑:OhItsTom 更新时间:7/16/2022 访问量:57
更改从另一个文件导入的 var 的值,而不影响运行时内存中的原始值
Changing the value of a var imported from another file, without affecting the original values in runtime memory
问:
所以,我有两个文件; utils.py 和 globals.py。
globals.py 其中包含一些变量,core.py 有一个 install() 函数。
在这个函数中,我需要修改 globals.py 变量,但不直接影响保存在 globals.py 中的值。
我需要一种方法来保持代码不变,以便它仍然使用 globals.var,但仅当 edition 为 True 时才更改当前函数的 var 内容。
⠀
下面的代码不能以我想要的方式工作,但是一个很好的做法
globals.py
spotify = "original_url"
core.py
import globals
async def install(edition=False):
if edition:
globals.spotify = "new_url"
utils.chunked_download(globals.spotify)
other.py(安装后运行)
import globals
# Now that the install has been run with edition=True, these globals are now changed for all scripts
print(globals.spotify)
returns new_url instead of original_url
⠀
下面的代码以我想要的方式工作,但这是不好的做法
core.py
from globals import *
async def install(edition=False):
if edition:
spotify = "new_url"
utils.chunked_download(spotify)
other.py(安装后运行)
import globals
print(globals.spotify)
Returns the original value "original_url" like i want
答: 暂无答案
下一个:类变量的作用域?
评论