python-自定义模块【公用】

Python中没有公共变量,但可以通过创建独立的py文件作为模块来共享变量。import模块无论多少次,实际上只执行一次。可以使用静态变量文件来实现公用变量,但要注意在os.system中使用静态变量会因环境变化而失效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中没有公共变量,我如果要在一个文件中引用其他的变量,我需要做的将这些内容放到一个单独的py文件中,其他文件import它。值得注意的是,不管import多少次,其实都只执行一次。

1,import多少次其实只有一次

比如,我要读一个字典到内存,以后执行的若干文件都会用到这个公共字典:

其他文件:

from  module_ownerMap import owner_to_project_dict

module_ownerMap.py

# -* - coding: UTF-8 -* -
#将owner_to_project这个表读到内存中,以便后续比较旧的owner名称与新的owner名称
def read_owner_to_project():
    c = open("owner_to_project").read()
    list = c.split("\n")
    dict = {}
    for i in list:
        if i != "":
            list2 = i.split(",")
            dict[list2[0]] = list2[2]
    return dict
owner_to_project_dict = read_owner_to_project()


2,使用一个公用静态的变量

静态变量文件static.py

list = []
模块1文件module1.py

from static import list

list.append("1")
模块2文件module2.py

from static import list

list.append("2")
主文件main.py

from static import list
import module1
import module2
print list
主文件运行结果:

administrator@ubuntu:~/test/downloadBBS$ python main.py
['1', '2']

3,不能在使用os.system中用一个静态的,因为这其实不在一个环境下了

静态变量文件static.py

list = []

另一个main文件 main2.py

from static import list
list.append("2")
主文件main.py

from static import list
import os,sys
os.system("python main2.py")
print list
主文件结果:

administrator@ubuntu:~/test/downloadBBS$ python main.py
[]











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值