gpt4 book ai didi

python - 用另一个 Python 程序更改正在运行的 Python 程序的全局变量

转载 作者:太空宇宙 更新时间:2023-11-04 08:16:46 24 4
gpt4 key购买 nike

假设我有一个像这样的 Python 程序 (first.py):

GLOBALVAR = "pineapple"

def changeVAR(newValue):
global GLOBALVAR
GLOBALVAR = newValue

while(True):
print GLOBALVAR

我想在第一个运行时用另一个 python 程序调用全局变量 GLOBALVAR。例如(second.py):

from second import changeVAR

#do something
first.changeVAR("banana")

有没有可能做这样的事情?意思是,用另一个程序更改正在运行的程序的全局变量?

提前致谢!

最佳答案

你所描述的(共享相同变量的程序)只可能在不同的threads之间发生。 (它们共享相同的 Python 解释器和数据),而不是在不同的进程之间。

现代操作系统不允许一个程序访问另一个程序的内存。所以你不能仅仅进入另一个进程的内存并在那里改变一些东西。允许这样做会产生各种错误和安全问题。

可以使用进程间通信与另一个程序进行通信。这可以通过例如sockets , memory mapped files或写入彼此的标准输入和输出。也支持 semaphores, shared memoy and message queues在类 UNIX 操作系统上。

multiprocessing 模块提供了 Queue and Pipe允许相关进程相互交谈的对象。

关于python - 用另一个 Python 程序更改正在运行的 Python 程序的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040062/

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