如何在不同文件中更改和保存变量-python

时间:2019-09-26 19:46:35

标签: python

我有三个python文件:

a.py

theVariable = "Hello!"

b.py

import a
a.theVariable = "Change"

c.py

import a

while True:
    print(a.theVariable)

我希望c.py打印出“ Change”而不是“ Hello!”。我该怎么办?为什么不做这项工作? 需要单独的文件,因为b.py将运行Tkinter gui。

解决方案:用套接字库完成。

2 个答案:

答案 0 :(得分:2)

您可以使用类来获取具有某些状态的实例变量

a.py

class Foo():
    def __init__(self):
        self.greeting = "Hello"

并创建函数,以便您可以推迟对引用的操作

b.py

def changer(f):
    f.greeting = "Change"

当您导入一个类然后将其传递给函数时,您正在传递对可以更改状态的内容的引用

c.py

from a import Foo
from b import changer

a = Foo()
for x in range(10):  # simple example
    if x > 5:
        change(a)
    print(a.greeting)

答案 1 :(得分:1)

a.py

library(tidyr)

x = c(1, 2, 3, 4)
y = c(1, 2, 3)

Data <- matrix(round(rnorm(12, 10, 4)), nrow = 4, ncol = 3)
Data <- as.data.frame(Data)
names(Data) <- c("1","2","3")
Data$x = c(1,2,3,4)

pivot_longer(Data, c("1","2","3"), names_to = "y", values_to = "z")

b.py

theVariable = "Hello!"

def change(variable):
    theVariable = variable

c.py

import a

change('change')

我最近一直在与PyQt合作,效果很好。在orgin .py文件中设置函数会使其更加简单。