小编Fuj*_*dak的帖子

跨文件共享的Python中的静态变量

我对Python很陌生,我找不到在不同python文件之间共享静态变量的方法...在Java中,这样做似乎很简单...这就是我要尝试的方法做:

data.py

class Shared(object):
    list_vars = []
    var = ""

    @staticmethod
    def print_vars():
        print "list_vars = " + str(Shared.list_vars)
        print "var = " + Shared.var
Run Code Online (Sandbox Code Playgroud)

user1.py

import time
from data import Shared

Shared.list_vars.append("001")
time.sleep(5.0)
Shared.print_vars()

# It prints:
# list_vars = ['001']
# var =
Run Code Online (Sandbox Code Playgroud)

user2.py

import time
from data import Shared

Shared.var = "002"
time.sleep(5.0)
Shared.print_vars()

# It prints:
# list_vars = []
# var = 002
Run Code Online (Sandbox Code Playgroud)

抱歉,这可能不是最好的例子,但是它抓住了主意……我的问题是,如果我想拥有:

list_vars = ['001']
var = 002
Run Code Online (Sandbox Code Playgroud)

在同时运行user1.py和user2.py之后(甚至是其他一些python文件或类中)(我将user1.py和user2.py视为同一软件包中的两个子程序,这些子程序通常在同时),这样做的“ Python方式”是什么?

非常感谢!

==============================

问题的更新: …

python singleton static

2
推荐指数
1
解决办法
1960
查看次数

标签 统计

python ×1

singleton ×1

static ×1